如何使用javascript发送带有XMLHttpRequest的文件?

时间:2017-01-02 10:54:33

标签: javascript html xmlhttprequest cgi

我的HTML代码:

<input type="file" id="attachFileId"" name="contactUs_attach" />

我的java脚本代码:

var userfile=document.getElementById('attachFileId').files[0];
var attchment = new FormData();
attchment.append("userfile",userfile);
var xhr = new XMLHttpRequest();
xhr.open('POST','/cgi-bin/upload.cgi');
xhr.setRequestHeader('Content-Type',"multipart/form-data");
xhr.onload = function() {
  if(xhr.responseText==="y") {
    alert("sucess!");
  }
};
xhr.send(attchment);

以上代码对我不起作用。有人可以帮忙解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

删除此行:

xhr.setRequestHeader('Content-Type',"multipart/form-data");

多部分表单数据标头必须在内容中指定边界标记,并且您不能这样做,因为您没有自己生成边界(FormDataXHR正在这样做)。

如果没有自己指定标题,您可以让XHR根据FormData对象为您生成标题。