首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
V2EX  ›  问与答

微信 jsapi 选择本地图片放入 canvas 安卓居然报跨域??

  •  
  •   mikoshu · 109 天前 · 553 次点击
    这是一个创建于 109 天前的主题,其中的信息可能已经有所发展或是发生改变。

    微信 js-sdk 接口 chooseImage 选择本地图片后生成的 localid 可以直接放入 img 标签里预览,这时候如果需要对图片裁切后生成 base64code IOS 和微信开发者工具正常 但是安卓居然提示 "Uncaught DOMException: Failed to execute 'toDataURL' on 'HTMLCanvasElement': Tainted canvases may not be exported"

    试过 img.setAttribute("crossOrigin",'Anonymous') 无效

    估计现在只能将图片上传到微信服务器然后让后端去微信那边下载图片再返回一个允许跨域的图片 url 给我,来实现图片裁切了....

    6 回复  |  直到 2019-08-23 14:31:47 +08:00
        1
    TomVista   109 天前
    盲猜 file:url
        2
    mikoshu   109 天前
    @TomVista 错 是 wxLocalResource://imageidxxxxxxx
        3
    mikoshu   109 天前
    @TomVista 不过估计也是被微信反代为 file:url
        4
    ESeanZ   109 天前
    FileReader 读取文件直接装 base64 canvas 导入 base64 的图片再做裁剪 裁剪后再转 base64 到得最终结果
        5
    nihiue   109 天前 via Android
    楼上正解
        6
    nihiue   109 天前 via Android
    还有个备选方案
    const img = new Image();
    img.setAttribute('crossOrigin','Anonymous')
    img.src = 'XXXXXXXX';
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2150 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 23ms · UTC 15:53 · PVG 23:53 · LAX 07:53 · JFK 10:53
    ♥ Do have faith in what you're doing.