coolair
V2EX  ›  问与答

如何从 URL.createObjectURL(file)创建的 blob url 中获取 file 对象?

  •  
  •   coolair · Dec 15, 2018 · 3006 views
  •   You need to sign in to view this topic
    This topic created in 2792 days ago, the information mentioned may be changed or developed.
    前端页面只存了 blob url,现在要把对应的文件上传到无服务,如何获取到文件再 ajax 上传?
    13 replies    2018-12-16 03:00:18 +08:00
    deepdark
        1
    deepdark  
       Dec 15, 2018 via Android
    你就把 blob url 当成真的 url 处理就完事了
    coolair
        2
    coolair  
    OP
       Dec 15, 2018
    @deepdark 处理不了啊,传上去是个字符串啊,不是文件对象。
    MinonHeart
        3
    MinonHeart  
       Dec 15, 2018 via iPhone
    用 xhr 拉 blob url 转换成 file
    ted94
        4
    ted94  
       Dec 15, 2018 via Android
    File API
    coolair
        5
    coolair  
    OP
       Dec 15, 2018
    @MinonHeart
    @ted94
    xhr 拉 blob url 只能用异步的 onload 方法,但是如果有多个图片想同时上传的话,我的 formdata 还没有拼完,ajax 就发出去了……
    ted94
        6
    ted94  
       Dec 15, 2018 via Android
    @coolair 不大清楚你的问题是什么,可以完整的描述一次么
    coolair
        7
    coolair  
    OP
       Dec 15, 2018 via Android
    @ted94 是这样的,页面上有多张图片,其中的 src 是一个 blob:http 的链接,现在想把这些图片通过一次 ajax 请求都存到服务器上去。
    yimity
        8
    yimity  
       Dec 15, 2018 via Android
    跟正常的选择 img,用 filereader 读取上传没区别吧。
    AV1
        9
    AV1  
       Dec 15, 2018 via Android
    先用 AJAX 或 XHR 或 FileReader 把 blob URL 的文件读取出来,再用 AJAX 把图片提交到服务器。别说你不懂处理异步流程…
    coolair
        10
    coolair  
    OP
       Dec 15, 2018 via Android
    @DOLLOR 如果处理一个图片可以在异步处理完后发个 ajax,如果有五张图片,怎么等五个异步完了后再发 ajax 呢?
    Twinkle
        11
    Twinkle  
       Dec 15, 2018
    @coolair 多张就计数
    SakuraKuma
        12
    SakuraKuma  
       Dec 15, 2018
    @coolair Promise.all
    EscYezi
        13
    EscYezi  
       Dec 16, 2018 via iPhone
    @coolair 在循环用中 await
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3062 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 60ms · UTC 10:46 · PVG 18:46 · LAX 03:46 · JFK 06:46
    ♥ Do have faith in what you're doing.