1. 程式人生 > >js怎麼將 base64轉換成圖片

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) } });