<input type="file" name="img-up" id="img-up" value="" />
$("#img-up").on("change",function () { if(this.files[0]){ getImgBase64Data(this.files[0], function (result) { console.log(result); }); } }); function getImgBase64Data(file, callback) { var reader = new FileReader(); reader.onload = function (e) { callback(e.target.result); }; reader.readAsDataURL(file); // 讀取完後會調用onload方法 }
方法二:javascript
//取得該文件的url function getObjectURL(file) { var url = null ; if (window.createObjectURL!=undefined) { url = window.createObjectURL(file) ; } else if (window.URL!=undefined) { url = window.URL.createObjectURL(file) ; } else if (window.webkitURL!=undefined) { url = window.webkitURL.createObjectURL(file) ; } return url ; }
將base64的圖片,轉換回 file 對象java
// base 64 轉 blob let dataURLtoFile = function (b64Data,filename) { filename = filename || "test.png"; let mime = "image/png"; var bstr = atob(b64Data.replace(/^data:image\/(png|jpeg|jpg);base64,/, '')); var n = bstr.length; var u8arr = new Uint8Array(n); while(n--){ u8arr[n] = bstr.charCodeAt(n); } //轉換成file對象 return new File([u8arr], filename, {type:mime}); //轉換成成blob對象 //return new Blob([u8arr],{type:mime}); return blob; }