Загрузка файлов в IIS в виде zip-файла - PullRequest
1 голос
/ 26 июня 2019

Я просто хочу скачать файлы из папки IIS. Я могу получить все динамические файлы, заполнив список в фоновом режиме с помощью jquery, но на стороне контроллера althought memoryStream найдет все файлы и правильно добавит zip-архивы. Я не могу скачать zip-файл с заархивированными файлами. ПОЧЕМУ?

Спасибо за помощь ...

public ActionResult SaveAllFiles(List<string> ImgPath) 
{ 
    if (ImgPath != null && ImgPath.Any())
    { 
        using (var ms = new MemoryStream())
        {
            using (var ziparchive = new ZipArchive(ms, ZipArchiveMode.Create, true))
            {
                for (int i = 0; i < ImgPath.Count(); i++)
                {
                    string path = ImgPath[i].Substring(1).Replace("/", "\\");
                    string path2 = AppDomain.CurrentDomain.BaseDirectory + path;
                    ziparchive.CreateEntryFromFile(path2, path);
                }
            }                    
            return File(ms.ToArray(), "application/zip", "Attachments.zip");
        }
    }
    return View();
}

1 Ответ

0 голосов
/ 26 июня 2019

AJAX (асинхронный JavaScript и XML) является асинхронным, для загрузки любого файла с сервера запрос должен быть синхронным, ajax не поддерживает загрузку файлов

, для обхода см. this и это , это даст "Ajax like" опыт загрузки файлов

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...