我想通过 JavaScript(非框架)上传图像。有人有一个基本的例子来说明如何做到这一点吗?
我收到此错误消息:
Warning: Missing boundary in multipart/form-data POST data in Unknown on line 0 Array ( )
这是我迄今为止正在处理的内容。
<form action="" method="" enctype="" id="uploadImage">
<input type="file" name="image1" id="image1" value="" >
<input type="button" id="submit_button" data-data_enctype="multipart/form-data" data-form_name="uploadImage" data-url="/gallery/images/upload/" data-change_div="getForm" value="Upload" onclick="image(this.id, form.id)"/>
</form>
var xmlhttp;
if (window.XMLHttpRequest)
{
xmlhttp = new XMLHttpRequest();
}
else
{
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
var datVar = document.getElementById(id);
var url = datVar.dataset.url;
var change_div = datVar.dataset.change_div;
xmlhttp.onreadystatechange = function()
{
if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
{
document.getElementById(change_div).innerHTML = xmlhttp.responseText;
}
}
xmlhttp.open("POST", url, true);
xmlhttp.setRequestHeader("Content-type", "multipart/form-data");
xmlhttp.send('NULL');
最佳答案
您需要将要发送的数据传递给 xmlhttp.send() 方法。目前您正在向它传递“NULL”,因此它会提示数据丢失。
类似的东西
var data = document.getElementById('#uploadImage');
得到表格。
创建一个 FormData 对象(FormData 仅在现代浏览器中受支持)
var formData = new FormData(data);
然后将 formData
传递给 send 方法就可以了。
关于Javascript 图片上传(非框架),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23051745/