ASP.NET Загрузка файлов в фоновом режиме (BITS/AJAX?)

У меня есть веб-страница, где пользователи могут создать запись в базе данных и выбрать файл, который они хотят загрузить на сервер базы данных. эти файлы могут быть большими, как 100 МБ.

Я не хочу, чтобы пользователь ждал, поэтому я хочу, чтобы файл загружался в фоновом режиме. Так что они могут продолжать делать другие вещи, пока файл загружается.

Является ли биты путь для этого? Или это только для разработки Fatclient? Есть хорошие уроки?

Если BITS не подходит, каковы мои варианты? Ajax-вызов служб с расположением файла?

3 ответа

Решение

Если вы, говоря "они могут продолжать делать другие вещи", имеете в виду, что они могут выполнять другие запросы Ajax на той же веб-странице (то есть не переходя от нее), вы можете выполнить это с помощью любого загрузчика на основе Flash ( SWFUpload один из многих). Это не требует ничего, кроме некоторого JavaScript, <input type="file"> и встроенный Flash Uploader.

Если вы хотите, чтобы пользователь мог уйти со страницы, инициирующей загрузку, вы не сможете сделать это в браузере, по крайней мере, до тех пор, пока WebSockets не будут полностью внедрены во всех браузерах. Даже тогда это будет довольно сложно.

Я знаю, что этот пост немного устарел, но у меня возникла та же проблема. Моя работа заключается в том, чтобы использовать небольшое всплывающее окно, которое включает только элементы управления загрузкой файлов и параметры, чтобы определить, где документы должны храниться. Пользователь может загрузить файл из небольшого всплывающего окна, и пока он загружается, продолжайте просматривать в любом месте в исходном окне браузера, потому что они никогда не уйдут. Просто мысль для других в одной лодке.

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

Возможно, вы захотите использовать контроль загрузки Andrew Valums AJAX ( http://valums.com/ajax-upload/) или Uploadify ( http://www.uploadify.com/). Оба являются элементами управления jQuery AJAX (а для загрузки требуется Flash). Я работаю с jQuery для разработки веб-приложений, поэтому я неравнодушен к этим элементам управления. Я использовал контроль загрузки Valums для нескольких проектов, и он работает очень хорошо. Я не использовал uploadify в реальном производственном приложении из-за требования Flash (но это выглядит очень хорошо). Я уверен, что есть другие инструменты загрузки AJAX для других структур JavaScript.

Надеюсь, это поможет!

Другие вопросы по тегам