मेरी वेबसाइट में मेरे पास उपयोगकर्ताओं द्वारा अपलोड की गई सभी छवियां डाउनलोड करने का विकल्प है। समस्या हेब्रू नामों वाली छवियों में है (मुझे फ़ाइल का मूल नाम चाहिए)। मैंने फ़ाइल नामों को डीकोड करने का प्रयास किया लेकिन यह मदद नहीं कर रहा है।यूटीएफ -8 फ़ाइल नामों के साथ ज़िप फ़ाइल
using ICSharpCode.SharpZipLib.Zip;
Encoding iso = Encoding.GetEncoding("ISO-8859-1");
Encoding utf8 = Encoding.UTF8;
byte[] utfBytes = utf8.GetBytes(file.Name);
byte[] isoBytes = Encoding.Convert(utf8, iso, utfBytes);
string name = iso.GetString(isoBytes);
var entry = new ZipEntry(name + ".jpg");
zipStream.PutNextEntry(entry);
using (var reader = new System.IO.FileStream(file.Name, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
{
byte[] buffer = new byte[ChunkSize];
int bytesRead;
while ((bytesRead = reader.Read(buffer, 0, buffer.Length)) > 0)
{
byte[] actual = new byte[bytesRead];
Buffer.BlockCopy(buffer, 0, actual, 0, bytesRead);
zipStream.Write(actual, 0, actual.Length);
}
}
बाद UTF-8 एन्कोडिंग मैं इस तरह हिब्रू फ़ाइल नाम मिलता है:: यह एक कोड है। ?????? जेपीजी कहाँ मेरी गलती है?
नया 'ज़िपेंट्री' क्या है? मुझे इस बारे में पता नहीं है कि यह नए 'System.IO.Compression' नामस्थान का हिस्सा है। j #? – efkah
यह आईसीएसएचआरपी कोड है .harpZipLib.Zip लाइब्रेरी –