これは私のコードです
private void sendToClient(Dictionary<string, string> reportDic)
{
Response.Clear();
Response.BufferOutput = false;
String ReadmeText = "some text";
Response.ContentType = "application/zip";
Response.AddHeader("content-disposition", "filename=" + "filename.zip");
using (ZipFile zip = new ZipFile())
{
zip.AddEntry("Readme.txt", ReadmeText);
zip.Save(Response.OutputStream);
}
Response.Close();
}
この時点で、zip内にreadme.txtドキュメントが含まれ、ドキュメント内に「sometext」という単語が含まれるzipファイルを返そうとしています。
私が取得するのは、filename.zip(expected)という名前のzipファイルで、ドキュメントreadme.txt(expected)があり、ドキュメント内にテキストがありません(unexpected)。
このコードは、ここの例からほぼ逐語的です。これは、他の人がこの正確な問題に遭遇したことを私にさせます。
私の最終目標は、このようなことをすることです。
private void sendToClient(Dictionary<string, string> reportDic)
{
Response.BufferOutput = false;
Response.ContentType = "application/zip";
Response.AddHeader("content-dispostion", "filename=text.zip");
Response.ContentEncoding = Encoding.Default;
Response.Charset = "";
using (ZipFile zip = new ZipFile())
{
foreach (string key in reportDic.Keys)
{
zip.AddEntry(key, reportDic[key]);
}
zip.Save(Response.OutputStream);
}
Response.Close();
}
3つの文字列をファイルとしてzipファイルに追加しますが、ここでは例を機能させることにします。
誰か提案がありますか?
ありがとう
--UPDATE--これは機能するはずです。実際、新しいプロジェクトにコピーすると、宣伝どおりに機能します。プロジェクトにdllの有毒な組み合わせや破損が含まれている必要があります。これは、あいまいか何かです。素晴らしい。