js formData上传blob对象乱码

问题描述

图片描述

      img.onload = function(){
        //  压缩后的base64
        var data = compress(img);
        //这里对base64串进行操作,去掉url头,并转换为byte
        var text = window.atob(data.split(",")[1]);
        var ab = new ArrayBuffer(text.length);
        var ia = new Uint8Array(ab);
        for (var i = 0; i < text.length; i++) {
          ia[i] = text.charCodeAt(i);
        }
        var blob = new Blob([ab], {type: files[_index].type});
        img = null
        formData.append('imagefile', blob);
        upImagesApi.ajax(formData, function (res) {
          
        })
      }
      img.src = result;

以下是ajax的

      type: "post",
      url: url,
      data: formData,
      timeout: 30000,
      dataType: 'json',
      processData: false,
      contentType: false,
阅读 6.4k
2 个回答

楼主将图片上传到后台后可以尝试下保存下来,看是否正常。从浏览器控制台来看二进制数据乱码是表现正常的。

请问解决了么?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题