string fileName = "test.zip";
string path = "c:\\temp\\";
string fullPath = path + fileName;
FileInfo file = new FileInfo(fullPath);
Response.Clear();
Response.ClearContent();
Response.ClearHeaders();
Response.Buffer = true;
Response.AppendHeader("content-disposition", "attachment; filename=" + fileName);
Response.AppendHeader("content-length", file.Length.ToString());
Response.ContentType = "application/x-compressed";
Response.TransmitFile(fullPath);
Response.Flush();
Response.End();
Фактический zip-файл c: \ temp \ test.zip является хорошим, действительным, независимо от того, что вы хотите назвать. Когда я перейду в каталог c: \ temp \ и дважды щелкните файл test.zip; он открывается прямо вверх.ASP.NET Создайте zip-файл для загрузки: сжатая папка с zipped недействительна или повреждена
Моя проблема, кажется, только в том, что касается загрузки. Вышеприведенный код без проблем. Представлен диалог загрузки файлов. Я могу выбрать либо сохранить, либо открыть. Если я попытаюсь открыть файл из диалога или сохранить его, а затем открыть. Я получаю следующее диалоговое сообщение:
Сжатая (замятая) папка недействительна или повреждена.
Для Response.ContentType Я пробовал:
применение/х-сжат применение/х-зип-сжат применение/х-GZIP-compresse приложения/октет-поток приложение/почтовый
файл почтового индекса создается с некоторым предшествующим кодом (что я уверен, что работает отлично благодаря своей способности открыть созданный файл непосредственно) с помощью: Ionic.zip
http://www.codeplex.com/DotNetZip
Просто догадка, скачанный файл того же размера, что и оригинал? – CResults