ASP.NET - имитация настольного приложения, которое копирует файлы во временную папку перед загрузкой - возможные стратегии - PullRequest
0 голосов
/ 04 декабря 2009

У нас есть настольное приложение, которое позволяет пользователям заполнять анкету. Для определенных типов вопросов пользователи могут загружать файлы. Настольное приложение выполняет следующую логику:

  • копирует файл во временную папку
  • читает байты из копии и кэширует в памяти
  • загружает все кэшированные байты при отправке анкеты

Требуется не более пяти секунд поиска в Google, чтобы увидеть, что доступ к файлам на стороне клиента из веб-приложения является дырой в безопасности. Я понимаю, что это возможно, если вы наносите вред своим настройкам безопасности, но наш ИТ-отдел никак не позволит этого :).

Требование, которое должна выполнять логика настольного приложения, - не заставлять пользователя ждать в процессе заполнения отдельных вопросов. Единственное ожидание, которое они испытывают, в самом конце, когда они нажимают кнопку «Отправить». На данный момент все вопросы и файлы отправлены.

Однако, после поиска в Google, я теперь думаю, что не смогу сделать это в веб-версии.

Итак, мой актуальный вопрос: есть ли способ выполнить требование не передавать файлы до конца процесса анкетирования? Можете ли вы создать набор опубликованных файлов из набора имен кэшированных файлов? Что мне нужно, так это способ сделать загрузку нескольких файлов из набора кешированных путей к файлам.

Но я не уверен, что это будет достаточно хорошо, если сначала не будет создана копия файлов .... например. что произойдет, если пользователь удалит файл после назначения его на вопрос, но до того, как он отправит вопросник?

Я просмотрел все перечисленные вопросы как похожие на мои, но не увидел ничего, что, по-моему, смогу использовать. Будем очень благодарны за любые советы.

Ответы [ 3 ]

0 голосов
/ 04 декабря 2009

Я думаю, вы ищете для загрузки нескольких файлов. Посмотрите на эту статью. http://www.codetoad.com/ASP.NET_multiplefileupload.asp

0 голосов
/ 04 декабря 2009

Да, я согласен с Ли Хессельденом. Возможное решение - использовать фоновую загрузку через невидимый iframe. Недавно мы реализовали загрузчик нескольких файлов для ASP.NET таким образом. Более того, в настоящее время он доступен бесплатно. См. демонстрационная страница

0 голосов
/ 04 декабря 2009

Вы можете выполнить загрузку в фоновом режиме, используя iframe. Это позволит пользователю продолжать заполнять вопросник по мере прохождения процесса.

Вы должны правильно оформить свои анкеты, используя Ajax, чтобы не переходить на страницы во время загрузки.

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

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