Gần đây tôi đã hỏi khác (liên quan) câu hỏi, mà dẫn theo dõi câu hỏi này: Submitting data instead of a file for an input formSử dụng phương pháp ajax jQuery để lấy hình ảnh như một blob
Đọc qua jQuery.ajax() tài liệu (http://api.jquery.com/jQuery.ajax/), nó có vẻ như danh sách các dataTypes được chấp nhận không bao gồm hình ảnh.
Tôi đang cố truy xuất hình ảnh bằng jQuery.get (hoặc jQuery.ajax nếu tôi phải), lưu trữ hình ảnh này trong Blob và tải nó lên máy chủ khác trong yêu cầu POST. Hiện tại, có vẻ như do sự không khớp trong các kiểu dữ liệu, hình ảnh của tôi sẽ bị hỏng (kích thước tính bằng byte không khớp, v.v.).
Các mã để thực hiện điều này là như sau (đó là trong coffeescript nhưng không nên rất khó để phân tích):
handler = (data,status) ->
fd = new FormData
fd.append("file", new Blob([data], { "type" : "image/png" }))
jQuery.ajax {
url: target_url,
data: fd,
processData: false,
contentType: "multipart/form-data",
type: "POST",
complete: (xhr,status) ->
console.log xhr.status
console.log xhr.statusCode
console.log xhr.responseText
}
jQuery.get(image_source_url, null, handler)
Làm thế nào tôi có thể lấy hình ảnh này như một blob để thay thế?
Tôi nghĩ bạn phải thay đổi loại phản hồi ở phía máy chủ. –
Tôi đang cố gắng kéo hình ảnh từ bất kỳ url nào, không phải máy chủ mà tôi sở hữu nhất thiết. – jabalsad
hãy xem http://stackoverflow.com/questions/4285042/can-jquery-ajax-load-image –