我正在嘗試編寫一些讓用戶上傳文件到imgur的JavaScript。對我來說,第一步是從我的web服務器(公開可用)加載一個圖像,然後嘗試使用我的api密鑰上傳圖像。這是我到目前爲止有:使用javascript上傳到imgur
self.uploadImage = function upload(file) {
debugger;
file = $.get("../../Content/images/icon.png", function() {
alert("success");
})
.done(function() { alert("second success"); })
.fail(function() { alert("error"); })
.always(function() { alert("finished"); });
// file is from a <input> tag or from Drag'n Drop
// Is the file an image?
if (!file || !file.type.match(/image.*/)) return; // fails here
// It is!
// Let's build a FormData object
var fd = new FormData();
fd.append("image", file); // Append the file
fd.append("key", "<my key>");
// Create the XHR
var xhr = new XMLHttpRequest();
xhr.open("POST", "http://api.imgur.com/2/upload.json");
xhr.onload = function() {
// The URL of the image is:
JSON.parse(xhr.responseText).upload.links.imgur_page;
};
// And now, we send the formdata
xhr.send(fd);
debugger;
};
我不能讓過去的第一個if
聲明雖然 - 我得到那個說
Uncaught TypeError: Cannot call method 'match' of undefined
我得到從不用彷徨成功的警報錯誤。 ..我不知道如何進一步調試,因爲我對js有點新...任何幫助將不勝感激。
的if語句:
'file.type'的值是什麼?或者更好的是,'typeof file.type'是什麼? – SomeShinyObject
@ChristopherW我得到的typeof file.type是「undefined」,typeof文件是「object」 - 我會截圖 – SB2055
有你的答案。 'match'是一個字符串方法。 – SomeShinyObject