Обработка нескольких загрузок файлов в MVC. Как узнать, какой файл какой?

У меня есть форма в моем приложении MVC 3, которая позволяет пользователю по желанию загружать 2 файла (или один или другой), и я ищу способ определить, какой файл какой, если загружен только один из двух файлов (например, извлечение идентификатор элемента из ввода). Файлы служат совершенно разным целям и будут сохранены в разных папках на сервере. Оба файла потенциально могут быть одного типа (Word, PDF и т. д.), поэтому расширение файла не будет надежным способом отличить их друг от друга. Есть ли способ сделать это, не заставляя пользователя давать файлам определенное имя файла или что-то в этом роде ненадежное? Вот пример того, что я пытаюсь сделать (я знаю, что мои операторы if не имеют правильного синтаксиса. Они просто поясняют, что я хочу сделать). Спасибо всем!

 public ActionResult SaveProfile(IEnumerable<HttpPostedFileBase> files)
        .....
        foreach (var file in files)           
        {                 
            if (file has element id "file1") {
                 file.SaveAs(Server.MapPath("~/Folder1/" + file.FileName));
            }
            if (file has element id "file2") {
                 file.SaveAs(Server.MapPath("~/Folder2/" + file.FileName));
            }
        }
 }

person Ryan    schedule 14.02.2014    source источник


Ответы (2)


если у вас есть постоянное количество входных файлов, просто дайте им разные имена. И измените свои аргументы действия после публикации следующим образом:

public ActionResult SaveProfile(HttpPostedFileBase file_name1, HttpPostedFileBase file_name2)
person melvas    schedule 14.02.2014
comment
Я попробую это. Спасибо! - person Ryan; 14.02.2014
comment
Работал фантастически. Большое спасибо! - person Ryan; 14.02.2014

Я настоятельно рекомендую посмотреть ELFinder.js и ELFinder.net.

http://elfinder.org/

https://elfinder.codeplex.com/

person To delete profile    schedule 14.02.2014