Я нашел одно решение здесь: https://hacks.mozilla.org/2011/03/the-shortest-image-uploader-ever/
function upload(url) {
// Let's build a FormData object
var fd = new FormData();
fd.append("image", url); // Append the file
fd.append("key", "6528448c258cff474ca9701c5bab6927");
// Get your own key: http://api.imgur.com/
// Create the XHR (Cross-Domain XHR FTW!!!)
var xhr = new XMLHttpRequest();
xhr.open("POST", "http://api.imgur.com/2/upload.json"); // Boooom!
xhr.onload = function() {
// Big win!
// The URL of the image is:
JSON.parse(xhr.responseText).upload.links.imgur_page;
}
// Ok, I don't handle the errors. An exercice for the reader.
// And now, we send the formdata
xhr.send(fd);
}
Очевидно, что это решение требует POST, что означает, что вам нужно использовать ключ API.Я не мог найти способ получить ответ с помощью метода GET без API.
Единственный способ, которым я смог сделать загрузку без ключа API, - это пройти через YQL и получить окончательный URL перенаправления.из диагностики:
urlToImgur = (url, callback) ->
upload_url = "http://api.imgur.com/2/upload?url=#{url}"
$.ajax
url: 'http://query.yahooapis.com/v1/public/yql'
dataType: 'jsonp'
data:
q: "select none from html where url='#{upload_url}'"
diagnostics: true
success: (data) ->
redirects = data.query.diagnostics.redirect
image_url = redirects[redirects.length-1].content
callback image_url