Как я могу позволить пользователю загружать несколько файлов асинхронно в asp.net mvc 2? - PullRequest
2 голосов
/ 14 июля 2011

Я использую ASP.NET MVC 2.0 и .NET Framework 3.5 sp1.

У меня есть действие, которое в настоящее время принимает модель представления в качестве параметра.Действие имеет тип возврата FileResult.Он используется в моем приложении для создания PDF-файла и передачи его пользователю для загрузки.Есть ли способ выполнить это действие асинхронно, чтобы несколько файлов могли быть переданы обратно пользователю?Я знаю, что это некрасиво, но это то, о чем просил пользователь, и проблемы конфиденциальности и разрешений ч / б, эти файлы существуют только в памяти, поэтому я не могу сжать их вместе и записать их.По сути, пользователь щелкает, какие файлы он хочет загрузить, и для каждого из них отображается диалоговое окно загрузки.

Я смотрю, чтобы мой контроллер наследовал AsyncController и реализовывал методы типа MyActionAsync & MyActionCompleted.Основываясь на моем собственном тестировании, я думаю, что это не может быть сделано.Кто-нибудь может это проверить?

1 Ответ

3 голосов
/ 14 июля 2011

Один запрос к серверу может вернуть только один файл.Таким образом, ваш код должен работать без ошибок - пользователь нажимает на ссылку и получает файл, нажимает на другую ссылку и получает другой файл.

Если вы хотите иметь флажки типа «file1 [], file2 [x], file3 [x], file4 []», я думаю, вы можете вызывать click с помощью JavaScript на соответствующих ссылках - до тех пор, пока отклик будет правильнымзаголовки должны показывать диалоги сохранения файла.Также будет странным опыт пользователя, я думаю.

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