2014-06-23 3 views
2

J'essaie d'obtenir que FineUploader télécharge directement sur Azure Blob Storage.FineUploader téléversé sur Azure stall sur les appareils Android

J'ai suivi les instructions, mis en place une page de démonstration avec le téléchargeur, configuré mon compte de stockage blob pour CORS, et configuré un serveur SAS. Tout semble fonctionner comme prévu sur les navigateurs de bureau et sur mes appareils iOS, mais les mises en ligne avec mes appareils Android semblent stagner de façon constante quelque part autour de la marque de 8 mégaoctets.

Parfois, le décrochage n'est jamais récupéré, d'autres fois il semble se rétablir, télécharge un autre ~ 8 Mo et stagne à nouveau. Dans les deux cas, il semble coincé sur un PUT pendant 2,2 minutes. Je ne suis pas sûr s'il y a une signification à cette durée, mais c'est très cohérent dans mes tests jusqu'à présent.

J'ai essayé avec la segmentation désactivée et activée avec une taille de 4 megs, et il ne semble pas avoir un impact significatif sur le résultat autant que je peux dire.

J'ai essayé sur 2 appareils Android (4.3 et 4.4) sur 2 réseaux wifi et 4g avec les mêmes résultats.

J'ai pages avec le téléchargeur intégré sur elle exposée aux adresses suivantes:

http://fineuploadertest.blob.core.windows.net/cdn/index.htm (4 morceaux d'MEG)

index2.htm (Chunking désactivé) et index3.htm (1 morceaux de MEG) sont dans le même répertoire si vous voulez les vérifier. Je n'ai plus d'idées à ce stade, y a-t-il quelqu'un d'autre dans cette situation ou d'autres idées que je peux essayer? Ci-dessous, une sortie de débogage I obtenue via le débogage à distance Chrome pour une tentative (avec segmentation) qui a échoué.

PUT 1-7 réussi en 2-4 secondes chacun, mis 8 a été bloqué pendant 2,2 minutes. L'erreur indiquée était "net :: ERR_SSL_PROTOCOL_ERROR", mais je ne suis pas sûr que ce soit significatif ou juste une branche par défaut dans la gestion des erreurs.

[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 
+0

Quelle (s) version (s) Android? –

+0

J'ai testé sur un Galaxy Nexus avec 4.2 ou 4.3 et un Droid Maxx avec 4.4 –

+0

Pour clarifier: les petits fichiers montent rapidement et les morceaux sont combinés dans le fichier final comme prévu. –

Répondre

2

Ce problème ne semble pas être la faute de fineuploader, mais semble être le résultat de la façon dont fonctionne SSL sur Azure Blob Storage qui permet seulement une quantité spécifique de données à transférer en une seule session HTTPS (environ 5 Mo dans mes tests).

Microsoft a reconnu le issue, mais il n'y a pas d'ETA sur un correctif. Je ne comprends pas pourquoi ce problème affecte uniquement certaines implémentations de SSL.

En attendant, si vous avez besoin pour permettre à des fichiers plus volumineux à télécharger sur le stockage blob bleu azur à partir du navigateur et sont en cours d'exécution dans des problèmes avec Android ou d'autres navigateurs les solutions de contournement sont:

1) Passer à un non-SSL Point de terminaison (HTTP) si votre cas d'utilisation ne nécessite pas la transmission sécurisée des données.

2) Ne pas télécharger directement sur le stockage de blob, mais le télécharger sur un point de terminaison personnalisé, puis le copier vers le stockage blob. Il est correct si ce noeud final est hébergé sur un site Web Azure, un rôle Web ou un rôle de travailleur, ce problème ne les affecte pas.

Vous trouverez des informations supplémentaires sur la configuration d'un serveur de téléchargement traditionnel fineupload here.

+0

De superbes détails. Merci! –

Questions connexes