1. 程式人生 > >base64轉為圖片檔案上傳到伺服器

base64轉為圖片檔案上傳到伺服器

methods:{
    base64ToBlob(urlData) {
      var arr = urlData.split(',');
      var mime = arr[0].match(/:(.*?);/)[1] || 'image/png';
      // 去掉url的頭,並轉化為byte
      var bytes = window.atob(arr[1]);
      // 處理異常,將ascii碼小於0的轉換為大於0
      var ab = new ArrayBuffer(bytes.length);
      // 生成檢視(直接針對記憶體):8位無符號整數,長度1個位元組
      var
ia = new Uint8Array(ab); for (var i = 0; i < bytes.length; i++) { ia[i] = bytes.charCodeAt(i); } return new Blob([ab], { type: mime }); }, getImgUrl(){ let that = this; html2canvas(document.querySelector("#exitImg"),opts).then(canvas =>
{ console.log(canvas) var dataUrl = canvas.toDataURL(); let fileImg = that.base64ToBlob(dataUrl) var fd = new FormData() fd.append('file', fileImg,"image.jpg") let config = { headers: { 'Content-Type': 'multipart/form-data'
} } axios.post(that.uploadUrl, fd,config).then( res => { console.log(res) }).catch( res => { console.log(res) }) }); } }, mounted:function(){ this.getImgUrl() }