Я пытаюсь заставить FineUploader загружать данные непосредственно в хранилище BLOB-объектов Azure.
Я следовал инструкциям, настроил демонстрационную страницу с загрузчиком на ней, настроил свою учетную запись хранения BLOB-объектов для CORS и настроил сервер SAS. Кажется, все работает, как и ожидалось, в настольных браузерах и на моих устройствах iOS, но загрузка на моих устройствах Android, похоже, постоянно останавливается где-то на отметке 8 мегабайт.
Иногда зависание никогда не восстанавливается, в других случаях кажется, что оно восстанавливается, загружает еще ~ 8 мегабайт и снова зависает. В любом случае кажется, что он застрял на PUT на 2,2 минуты. Я не уверен, имеет ли какое-либо значение эта продолжительность, но пока что она очень постоянна в моем тестировании.
Я пробовал с отключенным фрагментированием и включенным с размером 4 мегабайта, и, насколько я могу судить, это не оказывает существенного влияния на результат.
Я пробовал на 2 устройствах Android (4.3 и 4.4) в 2 сетях Wi-Fi и 4G с теми же результатами.
У меня есть страницы со встроенным загрузчиком, которые отображаются по следующим URL-адресам:
http://fineuploadertest.blob.core.windows.net/cdn/index.htm (фрагменты по 4 мегабайта)
index2.htm (блокировка отключена) и index3.htm (блоки по 1 мегабайту) находятся в одном каталоге, если вы хотите их проверить.
На данный момент у меня заканчиваются идеи, кто-нибудь еще сталкивался с этим или у меня есть какие-либо дополнительные идеи, которые я могу попробовать?
Ниже приведены некоторые результаты отладки, которые я получил с помощью удаленной отладки Chrome для неудачной попытки (с разбиением на фрагменты).
ПУТы 1-7 удались за 2-4 секунды каждый, пут 8 застопорился на 2,2 минуты. Заявленная ошибка была «net::ERR_SSL_PROTOCOL_ERROR», но я не уверен, действительно ли это важно или это просто ветвь по умолчанию в обработке ошибок.
[Fine Uploader 5.0.2] Parsing template
[Fine Uploader 5.0.2] Template parsing complete
[Fine Uploader 5.0.2] Rendering template in DOM.
[Fine Uploader 5.0.2] Template rendering complete
[Fine Uploader 5.0.2] Received 1 files or inputs.
[Fine Uploader 5.0.2] Attempting to validate image.
[Fine Uploader 5.0.2] Sending chunked upload request for item 0: bytes 1-1048576 of 27179814
[Fine Uploader 5.0.2] Submitting GET SAS request for a PUT REST request related to file ID 0.0.
[Fine Uploader 5.0.2] Sending GET request for 0.0
[Fine Uploader 5.0.2] GET SAS request succeeded.
[Fine Uploader 5.0.2] Submitting Put Block request for 0.0 = part 0
[Fine Uploader 5.0.2] Sending PUT request for 0.0
[Fine Uploader 5.0.2] Put Block call succeeded for 0
[Fine Uploader 5.0.2] Chunked upload request succeeded for 0, chunk 0
[Fine Uploader 5.0.2] Chunk 0 for file 0 uploaded successfully.
[Fine Uploader 5.0.2] Sending chunked upload request for item 0: bytes 1048577-2097152 of 27179814
[Fine Uploader 5.0.2] Submitting GET SAS request for a PUT REST request related to file ID 0.1.
[Fine Uploader 5.0.2] Sending GET request for 0.1
[Fine Uploader 5.0.2] GET SAS request succeeded.
[Fine Uploader 5.0.2] Submitting Put Block request for 0.1 = part 1
[Fine Uploader 5.0.2] Sending PUT request for 0.1
[Fine Uploader 5.0.2] Put Block call succeeded for 0
[Fine Uploader 5.0.2] Chunked upload request succeeded for 0, chunk 1
[Fine Uploader 5.0.2] Chunk 1 for file 0 uploaded successfully.
[Fine Uploader 5.0.2] Sending chunked upload request for item 0: bytes 2097153-3145728 of 27179814
[Fine Uploader 5.0.2] Submitting GET SAS request for a PUT REST request related to file ID 0.2.
[Fine Uploader 5.0.2] Sending GET request for 0.2
[Fine Uploader 5.0.2] GET SAS request succeeded.
[Fine Uploader 5.0.2] Submitting Put Block request for 0.2 = part 2
[Fine Uploader 5.0.2] Sending PUT request for 0.2
[Fine Uploader 5.0.2] Put Block call succeeded for 0
[Fine Uploader 5.0.2] Chunked upload request succeeded for 0, chunk 2
[Fine Uploader 5.0.2] Chunk 2 for file 0 uploaded successfully.
[Fine Uploader 5.0.2] Sending chunked upload request for item 0: bytes 3145729-4194304 of 27179814
[Fine Uploader 5.0.2] Submitting GET SAS request for a PUT REST request related to file ID 0.3.
[Fine Uploader 5.0.2] Sending GET request for 0.3
[Fine Uploader 5.0.2] GET SAS request succeeded.
[Fine Uploader 5.0.2] Submitting Put Block request for 0.3 = part 3
[Fine Uploader 5.0.2] Sending PUT request for 0.3
[Fine Uploader 5.0.2] Put Block call succeeded for 0
[Fine Uploader 5.0.2] Chunked upload request succeeded for 0, chunk 3
[Fine Uploader 5.0.2] Chunk 3 for file 0 uploaded successfully.
[Fine Uploader 5.0.2] Sending chunked upload request for item 0: bytes 4194305-5242880 of 27179814
[Fine Uploader 5.0.2] Submitting GET SAS request for a PUT REST request related to file ID 0.4.
[Fine Uploader 5.0.2] Sending GET request for 0.4
[Fine Uploader 5.0.2] GET SAS request succeeded.
[Fine Uploader 5.0.2] Submitting Put Block request for 0.4 = part 4
[Fine Uploader 5.0.2] Sending PUT request for 0.4
[Fine Uploader 5.0.2] Put Block call succeeded for 0
[Fine Uploader 5.0.2] Chunked upload request succeeded for 0, chunk 4
[Fine Uploader 5.0.2] Chunk 4 for file 0 uploaded successfully.
[Fine Uploader 5.0.2] Sending chunked upload request for item 0: bytes 5242881-6291456 of 27179814
[Fine Uploader 5.0.2] Submitting GET SAS request for a PUT REST request related to file ID 0.5.
[Fine Uploader 5.0.2] Sending GET request for 0.5
[Fine Uploader 5.0.2] GET SAS request succeeded.
[Fine Uploader 5.0.2] Submitting Put Block request for 0.5 = part 5
[Fine Uploader 5.0.2] Sending PUT request for 0.5
[Fine Uploader 5.0.2] Put Block call succeeded for 0
[Fine Uploader 5.0.2] Chunked upload request succeeded for 0, chunk 5
[Fine Uploader 5.0.2] Chunk 5 for file 0 uploaded successfully.
[Fine Uploader 5.0.2] Sending chunked upload request for item 0: bytes 6291457-7340032 of 27179814
[Fine Uploader 5.0.2] Submitting GET SAS request for a PUT REST request related to file ID 0.6.
[Fine Uploader 5.0.2] Sending GET request for 0.6
[Fine Uploader 5.0.2] GET SAS request succeeded.
[Fine Uploader 5.0.2] Submitting Put Block request for 0.6 = part 6
[Fine Uploader 5.0.2] Sending PUT request for 0.6
[Fine Uploader 5.0.2] Put Block call succeeded for 0
[Fine Uploader 5.0.2] Chunked upload request succeeded for 0, chunk 6
[Fine Uploader 5.0.2] Chunk 6 for file 0 uploaded successfully.
[Fine Uploader 5.0.2] Sending chunked upload request for item 0: bytes 7340033-8388608 of 27179814
[Fine Uploader 5.0.2] Submitting GET SAS request for a PUT REST request related to file ID 0.7.
[Fine Uploader 5.0.2] Sending GET request for 0.7
[Fine Uploader 5.0.2] GET SAS request succeeded.
[Fine Uploader 5.0.2] Submitting Put Block request for 0.7 = part 7
[Fine Uploader 5.0.2] Sending PUT request for 0.7
PUT https://fineuploadertest.blob.core.windows.net/file//e3cac46f-87b3-474c-a9b…PyNBZRTc%3D&se=2014-06-23T22%3A55%3A08Z&sp=w&comp=block&blockid=MDAwMDc%3D net::ERR_SSL_PROTOCOL_ERROR /file//e3cac46f-87b3-474c-a9b8-5393cd2e8b1e.mp4?sv=2014-02-14&sr=b&sig=SyXr…NBZRTc%3D&se=2014-06-23T22%3A55%3A08Z&sp=w&comp=block&blockid=MDAwMDc%3D:1
[Fine Uploader 5.0.2] PUT request for 0.7 has failed - response code 0
[Fine Uploader 5.0.2] Put Block call failed for ID 0 on part 7
[Fine Uploader 5.0.2] Received error response:
[Fine Uploader 5.0.2] Chunked upload request failed for 0, chunk 7