Загрузка файла из Ajax Сохранение в подкаталог - PullRequest
0 голосов
/ 28 июня 2018

Я пытаюсь загрузить файлы из ajax-запроса, используя ASP MVC, чтобы сохранить их в папке с документами моего проекта в подпапке. Скажем, например, я получаю файлы из объекта запроса, для каждого набора файлов я хочу создать отдельную папку в разделе «Документы», каждый раз для хранения файлов. Я пробовал приведенный ниже код, но он выдает исключение, утверждая, что не удалось найти часть пути. Я предполагаю, что это подкаталог, в котором я пытаюсь сохранить файлы, и я попробовал все виды комбинаций, но безрезультатно. Буду признателен за любую помощь, так как я пытался понять это все утро.

Мой rootPath хранится в моем конфигурационном файле как C: \ 21Vianet \ 21Vianet \ Documents

        if (Request.Files.Count > 0)
        {
            var rootPath = ConfigurationManager.AppSettings["DocumentsPath"];
            if (!(Directory.Exists(rootPath)))
            {
                Directory.CreateDirectory(rootPath);
            }

            var claimPath = Path.Combine(rootPath, claimNumber.ToString());
            Directory.CreateDirectory(claimPath);

            try
            {
                //  Get all files from Request object  
                HttpFileCollectionBase files = Request.Files;
                for (int i = 0; i < files.Count; i++)
                { 

                    HttpPostedFileBase file = files[i];
                    string fname;
                    fname = file.FileName;
                    var filePath = Path.Combine(claimPath, file.FileName);
                    fname = Path.Combine(filePath, fname);
                    file.SaveAs(fname);
                }
            catch (Exception ex)
            {

            }
         }

1 Ответ

0 голосов
/ 28 июня 2018

Попробуйте добавить Directory.CreateDirectory(filePath);

после

var filePath = Path.Combine(claimPath, file.FileName);

Последний созданный каталог: \Documents\claimNumber, но вы пытаетесь сохранить файл в: \Documents\claimNumber\fileName\

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