js怎么將 base64轉換成圖片


 

  //獲取數組最后一個元素
  let hasFiles = files[Object.keys(files).pop()] // 參考上面的圖片
  let file = hasFiles.url
  let name = hasFiles.file.name
  let type = hasFiles.file.type

  function base64ToBlob(urlData, type) {
    let arr = urlData.split(',');
    let mime = arr[0].match(/:(.*?);/)[1] || type;
    // 去掉url的頭,並轉化為byte
    let bytes = window.atob(arr[1]);
    // 處理異常,將ascii碼小於0的轉換為大於0
    let ab = new ArrayBuffer(bytes.length);
    // 生成視圖(直接針對內存):8位無符號整數,長度1個字節
    let ia = new Uint8Array(ab);
    for (let i = 0; i < bytes.length; i++) {
      ia[i] = bytes.charCodeAt(i);
    }
    return new Blob([ab], {
      type: mime
    });
  }

  if (hasFiles.file.size > 1024 * 1024 * 10) {
    throw '文件超過10M'
  }
  let conversions = base64ToBlob(file, type)
  let param = new FormData()
  // 沒給好一個值 param.append('file', file, name) 改為param.append('file', conversions, name)
  param.append('file', conversions, name)
  param.append('chunk', '0')
  axios.post(config.api.upload, param).then(function (res) {
    if (res.status === 200) {
      //后端判斷文件大小
      if (res.data && res.data.state === 'ERROR') {
        throw res.data && res.data.msg;
      }
      console.log(res)
    }
  });

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM