Я пишу загрузчик, который должен иметь возможность передавать файлы любого размера (до 30 игр) на сервер.При отправке файла через AJAX он сначала считывается в память?
Мое первоначальное намерение состояло в том, чтобы написать апплет java, который разбивал бы файл на части, отправлял их на сервер, а затем собирал их там.
Однако, кто-то предположил, что XMLHttpRequest AJAX может сделать эту работу совместно с nsIFileInputStream (например, здесь: https://developer.mozilla.org/en/using_xmlhttprequest#Sending_files_using_a_FormData_object) и с помощью PUT вместо POST.
Я беспокоюсь о двух вещах и не могу найти ответ.
1) Будет ли AJAX попытка прочитать файл в память перед отправкой его (что, очевидно, нарушило бы все это)
[EDIT] Этот http://www.codeproject.com/KB/ajax/AJAXFileUpload.aspx?msg=2329446 пример явно указано, что они используют ActiveXObject, потому что Безразлично» T загружает файл в память ..., который подсказывает мне, что XMLHttpRequest загрузит его в память. Я удивлен, что мне сложно найти эту информацию, если честно.
2) Насколько надежным является этот подход. Я понимаю, что если соединение просто затухает, загрузка должна возобновиться с нуля, но реально, насколько вероятно, что с использованием стандартного кабельного соединения с загрузочным дросселем около 0,5 МБ/с, что 30-гигабайтный файл поступит на сервер ?
да, тем больше я изучаю это, тем больше я склонен думать, что это не реальный подход. –
Скорее всего, однажды. Другие варианты использования Flash, Silverlight или BrowserPlus. Кажется, что Gears отказались в пользу HTML5, однако он по-прежнему поддерживается, пока все браузеры не внедрили его правильно. – Fabdrol
О, и у BrowserPlus есть некоторые действительно приятные варианты, такие как gzipping файл перед его загрузкой. Должно сильно сократить время загрузки. Тем не менее, я бы не рекомендовал BP для одиночных небольших файлов, на мой взгляд, это немного перебор. Отличным вариантом является PLupload, который выбирает плагин, который пользователь установил. – Fabdrol