使用jQuery的ajax方法以blob形式检索图像

我最近问了另一个(相关的)问题,这导致了这个后续问题:Submitting data instead of a file for an input form

通读jQuery.ajax()文档(http://api.jquery.com/jQuery.ajax/),似乎接受的dataTypes列表不包括图像。

我正在尝试使用jQuery.get (或jQuery.ajax,如果必要的话)检索图像,将此图像存储在Blob中,并在POST请求中将其上传到另一个服务器。目前,由于数据类型的不匹配,我的图像最终被损坏(字节大小不匹配等)。

执行此操作的代码如下所示(它是在coffeescript中编写的,但应该不难解析):

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)

如何才能将此图像作为blob检索?

转载请注明出处:http://www.lsql.net/article/20230523/2320076.html