javascript 警告:第 0 行未知的多部分/表单数据 POST 数据中缺少边界
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/27635738/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Warning: Missing boundary in multipart/form-data POST data in Unknown on line 0
提问by Maroxtn
I am working on file uploader which upload the image when the input is changed my code for the form in html is
我正在研究文件上传器,它在输入更改时上传图像,我的 html 表单代码是
<form method="post" enctype="multipart/form-data">
<input name="uploaded[]" type="file" id="file_upload"/>
</form>
My JavaScript and Ajax :
我的 JavaScript 和 Ajax :
document.getElementById("file_upload").onchange = function() {
var id = document.getElementById("user_id").innerHTML;
var file = document.getElementById("file_upload").files[0];
alert(file.size);
var formdata = new FormData();
formdata.append("filer",file,true);
var ajax = new XMLHttpRequest();
ajax.onreadystatechange =
function(){
if(ajax.readyState==4 && ajax.status==200){
document.getElementById("one").remove();
var img = document.createElement('img');
var first_path = '/user_image/';
var path = first_path.concat(id,'.png');
img.setAttribute('alt','User image');
img.setAttribute('id','one');
img.setAttribute('src',path);
document.getElementById("user").appendChild(img);
alert("end");
}
else{
document.getElementById("one").remove();
var img = document.createElement('img');
img.setAttribute('src','/img/loading.gif');
img.setAttribute('alt','User image');
img.setAttribute('id','one');
document.getElementById("user").appendChild(img);
}
}
ajax.open("POST","upload_image.php");
ajax.setRequestHeader("Content-Type", "multipart/form-data");
ajax.send(formdata);
};
And my php code is simple is just to test if everything is ok
我的 php 代码很简单,只是为了测试是否一切正常
require("../includes/config.php"); //config folder to start the session
if($_SERVER["REQUEST_METHOD"]=="POST"){
echo '<pre>',print_r($_FILES),'</pre>'; //dumping some variable and arrays to see where the problem is
}
The request that i get from server is Warning: Missing boundary in multipart/form-data POST data in Unknown on line 0 but i sent the formdata and the request header and i opened the file .
我从服务器收到的请求是警告:在第 0 行未知的多部分/表单数据POST 数据中缺少边界,但我发送了表单数据和请求标头并打开了文件。
回答by Hit-or-miss
You have to just remove the following line:
您只需删除以下行:
ajax.setRequestHeader("Content-Type", "multipart/form-data");
ajax.setRequestHeader("Content-Type", "multipart/form-data");
回答by Jeffrey Roosendaal
Instead of sending the data as multipart/form-data
:
而不是将数据发送为multipart/form-data
:
ajax.setRequestHeader("Content-Type", "multipart/form-data");
You should send it as application/json
:
您应该将其发送为application/json
:
ajax.setRequestHeader("Content-Type", "application/json");