En essayant de combiner Soumettre et télécharger dans un formulaire, j'ai un problème dans le téléchargement, mais pour soumettre le formulaire, ce n'est pas un problème.
JQuery + Ajax: P>
form data : mod:KD-R321ED no:177X1000 // where is the uploaded file value? action:oqcdata
6 Réponses :
Pour télécharger des fichiers via Ajax passer via cette URL fichier Ajax Téléchargement P>
-1, les liens ne sont pas des réponses. Lorsque ce lien meurt, votre question est inutile. Veuillez fournir un résumé du contenu sur la page liée.
PHP Notice: Undefined index: uploadedfile
Vouliez-vous mieux vouloir utiliser un processus séparé (Soumettre et télécharger séparé) au lieu de ce formulaire de combinaison?
Vous pouvez combiner des objets et des fichiers sans fichier, mais vous pouvez pas i> Télécharger des fichiers via Standard Browser Browser Ajax. La raison pour laquelle je recommande le code tiers ici, d'ailleurs, c'est que que i> code gère la complexité impliquée.
Vous devez utiliser XHR2 pour télécharger des fichiers via AJAX.
Exemple: p>
JavaScript / Clientside: P>
$file_name = $_SERVER['HTTP_X_FILE_NAME']; $file_size = $_SERVER['HTTP_X_FILE_SIZE']; file_put_contents( "data/" . $file_name, file_get_contents("php://input") );
Pourriez-vous expliquer avec jQuery?
Avertissement de gros gras: ce code contournements B> Mécanisme de traitement de téléchargement de fichier standard de PHP, y compris les mesures de sécurité d'une taille maximale de téléchargement maximale du serveur, un fichier temporaire sûr et sain d'esprit et des opérations les plus élémentaires, comme y compris le type nom de fichier i> et type original MIME. Il repose également sur le brouillon i> FileapI , qui est < I> Pas i> Mise en œuvre dans tous ou même la plupart des navigateurs i>.
@chals, J'ai dit que mon code n'est pas destiné à une utilisation de la production B>. Pouvez-vous suggérer une méthode pour le faire en utilisant le «Mécanisme de traitement de téléchargement de fichier standard de PHP»? De plus, XHR2 est implémenté dans la plupart des navigateurs, à l'exception de lien .
Vous pouvez utiliser uploadify pour gérer le téléchargement de fichier. Il propose " Fonction de rappel surploadsuccess ". D'où vous pouvez obtenir les informations de fichier téléchargées (nom de fichier, chemin, etc.). Vous pouvez utiliser cette information et mettre à jour un champ d'entrée caché dans votre formulaire. Et vous pouvez ensuite accéder aux informations du côté serveur et le manipuler. P>
J'espère que cela aide. P>
Il est impossible d'envoyer des données d'entrée de fichier via $ .ajax uniquement. J'ai utilisé avec succès JQuery Form Plugin http://malsup.com/jquery/form/ . Il enveloppe toute forme dans le traitement Ajax et ajoute beaucoup d'options de rappel utiles. Cela fait également des choses intelligentes à gérer les téléchargements de fichiers. Pour les navigateurs plus anciens (qui ne prennent pas en charge XHR Niveau 2), il peut y avoir des modifications de côté serveur supplémentaires très mineures, mais sinon, cela fonctionne hors de la boîte. P>
Pour des documents spécifiques à l'aide de la forme JQuery pour gérer les téléchargements de fichiers, voir http://malsup.com / jQuery / formulaire / # fichier-upload p>
Mieux vaut utiliser un moyen simplement, avec un processus séparé:
$("#oqcsubmit").click(function() { if($("#oqc").valid()) { var params=$("#oqc").serialize(); $.ajax({ type:"post", url:"doinput.php", data:params, cache :false, async :false, success : function() { $(".dt").val(""); $(".stat").val(""); return this; }, error : function() { alert("Data failed to input."); } }); return false; } }); <form id="oqc"> <input type="text" id="mod" name="mod" class="dt"/> <input type="text" id="no" name="no" class="dt"/> <input type="submit" id="oqcsubmit" value="Submit" /> <input type="hidden" name="action" value="oqcdata" /> </form> <form enctype="multipart/form-data" action="uploader.php" method="POST"> Upload File: <input id="filename" name="uploadedfile" type="file" /> <input id="upload" type="submit" value="Upload File" style="display:none;"/> </form>
Quelle erreur arrive ?? Parce que le code est correct peut être le serveur n'a pas donné la permission appropriée pour enregistrer un fichier.
Référez ce fil dans [Stackoverflow] [1] [1]: stackoverflow.com/questions/166221/...
Ne pas afficher le message d'erreur, mais si je vérifie
DATA / CODE> Le fichier n'est pas téléchargé.
@YOGESHSTHAR: La permission est 777 pour ce répertoire.