Erstellen von zip aus mehreren Dateien im Speicher
Ich versuche, mit SharpZipLib zu generieren, die zip-Datei und lassen Sie den client herunterladen.
Derzeit zip-Ordner erstellt und auf client Maschine, aber das Problem ist download.zip Ordner ist leer. Die Dateien die in einem Ordner sind nicht im zip-Ordner.
Unten ist der code, den ich ausprobiert habe.
System.Web.HttpResponse response = System.Web.HttpContext.Current.Response;
ICSharpCode.SharpZipLib.Checksums.Crc32 crc = new ICSharpCode.SharpZipLib.Checksums.Crc32();
//stream directly to client.
ICSharpCode.SharpZipLib.Zip.ZipOutputStream output = new ICSharpCode.SharpZipLib.Zip.ZipOutputStream(response.OutputStream);
output.SetLevel(9);
string[] files = Directory.GetFiles("D:/newfolder/");
for (int i = 0; i < files.Length; i++)
{
ICSharpCode.SharpZipLib.Zip.ZipEntry entry = new ICSharpCode.SharpZipLib.Zip.ZipEntry(files[i].ToString());
entry.DateTime = DateTime.Now;
System.IO.FileStream fs = new System.IO.FileStream(files[i].ToString(), FileMode.Open);
byte[] buffer = new byte[fs.Length];
fs.Read(buffer, 0, buffer.Length);
entry.Size = fs.Length;
fs.Close();
crc.Reset();
crc.Update(buffer);
entry.Crc = crc.Value;
output.PutNextEntry(entry);
output.Write(buffer, 0, buffer.Length);
}
output.Finish();
output.Close();
response.Clear();
response.ContentType = "D:/Work Area/";
response.AddHeader("Content-Disposition", "attachment; filename=" + "download.zip");
response.End();
Kann mir jemand sagen, was ist das Problem? Warum die Dateien nicht vorhanden sind .zip
Vielleicht ist das Beispiel könnte dir helfen: codeproject.com/Articles/23010/...
InformationsquelleAutor riya | 2012-03-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nach dem Besuch der SharpDevelop wiki fand ich die folgende, die vielleicht von Hilfe, um Ihnen zu helfen, das problem zu beheben:
InformationsquelleAutor Abrian Stemmet