1
我正在使用C#/ Asp.Net進行下載的項目,並且文件中可能包含中文字符。下載單個文件時,中文文件名顯示正確。但是,在ZipFile
下載多個文件時,文件夾內的文件將顯示中文字符爲????
或____
。我如何使ZipFile
保持文件名的非ASCII字符完整?ZipFile混淆了中文字符
這裏的多文件下載代碼:
using (ZipFile zip = new ZipFile())
{
// fileList is of type List<string>
zip.AddFiles(fileList, "files");
Response.Clear();
Response.ClearHeaders();
Response.ContentType = "application/zip";
Response.AppendHeader("content-disposition", "filename=file.zip");
zip.Save(Response.OutputStream);
Response.End();
}
以及下載一個文件的代碼:
if (File.Exists(Path))
{
FileInfo fileInfo = new FileInfo(Path);
Response.Clear();
Response.ClearHeaders();
Response.ContentType = "application/x-download";
Response.AppendHeader("Content-Disposition", "attachment; filename=\"" + filename + "\"");
Response.TransmitFile(fileInfo.FullName);
Response.End();
File.Delete(Path);
}
我覺得這個'Encoding.UTF8'有錯誤,對吧? – JCChan
@JCChan,錯誤是什麼? –
我編輯了一下這個'zip.ProvisionalAlternateEncoding = System.Text.Encoding.UTF8;',那麼一切都工作正常now.Thanks,兄弟! – JCChan