Phonegap Transfert de Fichier de l'image échoue sur tous les autres l'image: code d'Erreur 3 avec le transfert de fichiers de téléchargement
J'ai répondu à cette question moi-même, car il m'a fallu du temps pour trouver la solution, et ce n'était pas documenté, très bien.
OriginalL'auteur Varun Nath | 2013-10-09
Vous devez vous connecter pour publier un commentaire.
En essayant d'utiliser transfert de fichiers() de télécharger des images à partir d'un phonegap application sur android à un serveur distant j'ai continué à obtenir une code d'erreur 3 sur tous les deux de téléchargement de fichiers.
Cela a fonctionné une fois, mais instantanément lorsque j'ai essayé de nouveau, il lancerait une erreur, sans même l'envoi du fichier vers le serveur.
Le code que j'utilise pour l'upload de fichier est :
La clé pour faire ce travail était d'ajouter un en-tête option.
Le code complet :
J'ai été faire cette erreur (code d'erreur 3 ) parce que la taille du fichier est configuré sur le module php sur le serveur apache est moins que ce que j'étais en poste en tant que partie de la demande. Une fois que j'ai augmenté la limite, il a été résolu pour moi.
Code d'erreur 3 vient aussi quand internet est déconnecté.
Je reçois ce message d'erreur après un succès initial. Un succès, puis ne s'fonctionne à nouveau jusqu'à l'actualisation de la page. La réponse ci-dessus n'a pas fonctionné pour moi, en utilisant iOS.
Dans mon cas, j'ai dû ajouter une Autorisation de l'en-tête depuis le serveur attend un jeton et il a travaillé par la suite.
OriginalL'auteur Varun Nath
Code d'erreur 3 est un assez large d'erreur; cela signifie essentiellement que votre serveur n'est pas codé correctement ou si vous ne disposez pas d'une connexion internet, et qui résulte en une erreur de connexion.
Pourrait signifier:
upload_max_filesize
réglage en php.ini, pour résoudre ce problème sur ExpressJS, vous devez régler l'limit
champ pour Multer, etc. Fondamentalement, l'augmentation de l'upload d'un fichier sur le serveur. La plupart des serveurs de limite d'upload de fichier tailles comme une mesure de sécurité. (https://www.owasp.org/index.php/Unrestricted_File_Upload)options.fileKey
valeur (c'est à dire<input type="file" name="fileKey" />
) n'est pas le nom de votre serveur attend - un exemple de message d'erreur peut être "l'inattendu".content-type
champ dans l'en-tête n'a pas une valeur demultipart/form-data; boundary=----WebKitFormBoundary
. L'enregistrement de l'en-tête de requête sur le serveur, pourrait être utilisée pour vérifier si le type de contenu est correctement réglé.De téléchargement de photos avec Transfert de Fichiers
@AugieGardner - d'accord Également que le Cordova Transfert de Fichier plugin n'est pas bien documentée pour le téléchargement de photos prises avec l'Appareil photo plugin.
Heureusement, j'ai un exemple de travail pour iOS (et je suppose Android):
cordova transfert de fichier plugin ne fonctionne pas dans le simulateur ios
De téléchargement de photos sans Transfert de Fichiers
Une solution plus simple (ou de secours), serait de coder l'image en Base64, et l'envoyer par un simple vieux AJAX requête POST. Qui comprend les avantages et les inconvénients suivants.
Inconvénients de encodées en Base64 des images envoyées sur AJAX
Avantages de encodées en Base64 des images envoyées sur AJAX
OriginalL'auteur tfmontague