ZIP-папка загрузки файла действия ASP.NET не загружается после нескольких файловC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 ZIP-папка загрузки файла действия ASP.NET не загружается после нескольких файлов

Сообщение Anonymous »

У меня есть проект ASP.NET MVC, написанный на C#, в котором я создаю несколько PDF-файлов и добавляю их в zip-папку для их загрузки.
Созданные PDF-файлы всегда являются то же самое, только другие небольшие тексты.
Странно, но это работает для некоторого количества файлов. И я не могу понять, почему этого не произойдет более чем для X файлов. Если PDF-файлов больше 3 или 4, они больше не будут загружаться.
Размер не имеет значения, если я заархивирую файл большего размера, он работает. Похоже, это как-то связано с несколькими файлами. Обычно размер файлов составляет 200-300 КБ каждый.
Это код, я также пробовал его с SharpZipLib, но у меня та же проблема.

Код: Выделить всё

[HttpPost]
public ActionResult UploadCsv(HttpPostedFileBase InputCsvFile)
{
// ...OTHER CODE...

var memoryStream = new MemoryStream();

using (var archive = new ZipArchive(memoryStream, ZipArchiveMode.Create, true))
{
foreach (var pdf in items)
{
var fileName = pdf.PdfName;
var entry = archive.CreateEntry(fileName);

using (var entryStream = entry.Open())
using (var fileStream = new MemoryStream(pdf.Pdf))
{
fileStream.WriteTo(entryStream);
fileStream.Close();
entryStream.Close();
}
}
}

memoryStream.Seek(0, SeekOrigin.Begin); // memoryStream.Position = 0;

return File(memoryStream, "application/zip", zipFolderName);
}
Я попробовал это с большим размером запроса в файле web.config, но, как я уже сказал, можно загрузить zip-файлы большего размера, если файлов внутри не несколько. Сами PDF-файлы тоже не должны быть проблемой, поскольку они созданы правильно.
РЕДАКТИРОВАТЬ:
Я попробовал код в еще один похожий проект, и он работает.
Я также попробовал сохранить ZIP-файл напрямую в той же функции, это тоже работает. В ZIP-файле нет ошибок, файлы находятся внутри и работают.
Поэтому файл просто не загружается, если в нем содержится более X файлов.
Пример:
2 PDF-файла, заархивированные общим размером 4 МБ, работают
6 PDF-файлов, заархивированные общим размером 2 МБ, не работают

Подробнее здесь: https://stackoverflow.com/questions/792 ... -few-files
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»