我正在尝试实现一个文件上传API,给出的链接如下:
Mediafire文件上传
我已经成功地上传了Post data和Get data,但不知道如何发送Header data中的x-filename属性,这在API指南中有说明。
我的代码:
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);
错误: 未捕获的 InvalidStateError: 尝试使用一个不可用或不再可用的对象。 upload.php:42
uploadAjax upload.php:42
onclick upload.php:130 - Rajdeep Siddhapura