【发布时间】:2013-11-08 18:45:09
【问题描述】:
我正在尝试实现文件上传 API,此处给出:
Mediafire file Upload
我能够成功上传发布数据和获取数据,但不知道如何发送x-filename属性,这意味着是 API 指南中给出的 Header data。
我的代码:
xmlhttp=new XMLHttpRequest();
var formData = new FormData();
formData.append("Filedata", document.getElementById("myFile").files[0]);
var photoId = getCookie("user");
// formData.append("x-filename", photoId); //tried this but doesn't work
// xmlhttp.setRequestHeader("x-filename", photoId); //tried this too (gives error) [edited after diodeous' answer]
xmlhttp.onreadystatechange=function()
{
alert("xhr status : "+xmlhttp.readyState);
}
var url = "http://www.mediafire.com/api/upload/upload.php?"+"session_token="+getCookie("mSession")+"&action_on_duplicate=keep";
xmlhttp.open("POST", url);
// xmlhttp.setRequestHeader("x-filename", photoId); //tried this too, doesnt work. Infact nothing gets uploaded on mediafire. [edited after apsillers' answer]
// cant get response due to same origin policy
xmlhttp.send(formData);
【问题讨论】:
-
你能给我们
setRequestHeader的错误文本吗? -
它是javascirpt,因此没有错误文本,脚本只是停止执行,可能是不允许的
-
澄清一下,您的意思是您的browser's JavaScript console 中没有错误?
-
@apsillers 哦,我从来没有新的 abt Javascript Console 错误:未捕获的 InvalidStateError:尝试使用不可用或不再可用的对象。 upload.php:42 uploadAjax upload.php:42 onclick upload.php:130
-
@apsillers 第 42 行是 setrequestheader 行 & 第 130 行有一个带有 onclick 属性的按钮,可以调用上述代码
标签: javascript http-headers xmlhttprequest form-data mediafire