העלאת קבצים מJS לדף PHP
-
אני משתמש בקוד הזה (לפנות לPHP עפ"י זה) וכנראה לא קודדתי טוב את הכותרות והPHP לא מזהה שיש קובץ (לא מזהה את הכותרת fileToUpload )
הקוד js הוא (עפי"ז)
var Upload = new XMLHttpRequest(); var file = this.pathfile; var fileName = this.namefile var target = "Upload.php"; var mimeType = "multipart/form-data" Upload.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { console.log(this.responseText); } }; Upload.open("POST",target , true); Upload.setRequestHeader('Content-Type', mimeType); Upload.setRequestHeader('Content-Disposition', 'attachment; filename="' + fileName + '"'); Upload.send(file);
תודה מראש.
-
@chagold מה זה this.pathfile? מאיפה אתה לוקח את המידע הזה?
בקוד שלך אני לא רואה איפה אתה מצרף את הקובץ, שליחת קובץ אמורה להיות מידע בינארי דרך טופס HTML, אם אתה רוצה לממש בעצמך טופס צריך לקבל את הגישה לקובץ עם כפתור אינפוט file, ואחרי שאתה מחזיק רפרנס לקובץ לעשות משהו כזהconst formData = new FormData(); formData.append('mtFile', file); // כאן צריך להיות הקובץ הבינארי Upload.send(formData);
-
פוסט זה נמחק!
-
-
@יוסף-בן-שמעון תודה על הקוד. העתקתיו, עדיין יש שגיאה:
<br /> <b>Notice</b>: Undefined index: fileToUpload in <b>public_html/Upload.php</b> on line <b>9</b><br /> <br /> <b>Notice</b>: Undefined index: fileToUpload in <b>public_html/Upload.php</b> on line <b>32</b><br /> Sorry, your file was not uploaded.
הקוד שלי
const file = this.namefile; console.log(file) const formData = new FormData(); formData.append('mtFile', file); // כאן צריך להיות הקובץ הבינארי var Upload = new XMLHttpRequest(); const target = "Upload.php"; Upload.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { console.log(this.responseText); } }; Upload.open("POST",target , true); UploadC.send(formData);
ההדפסה לקונסול מדפיסה את הקובץ כבקוד שהבאת.
-