圖片base64轉化為二進制文件上傳給后端

<input type="file" onchange="upload(this.files[0])">

```

function upload(file){

readBlobAsDataURL(file, function (dataurl){

var formData = new FormData();

formData.append("upload",convertBase64UrlToBlob(dataurl))

$.ajax({

url: 'http://127.0.0.1:3000/upload' ,

type: 'POST',

data: formData,

async: false,

cache: false,

contentType: false,

processData: false,

success: function (returndata) {

},

error: function (returndata) {

}

});

});

}

function readBlobAsDataURL(file, callback) {

var a = new FileReader();

a.onload = function(e) {callback(e.target.result);};

a.readAsDataURL(file);

}

//圖片格式轉化

function convertBase64UrlToBlob(urlData) {

var bytes = window.atob(urlData.split(',')[1]); //去掉url的頭,并轉換為byte

//處理異常,將ascii碼小于0的轉換為大于0

var ab = new ArrayBuffer(bytes.length);

var ia = new Uint8Array(ab);

for (var i = 0; i < bytes.length; i++) {

ia[i] = bytes.charCodeAt(i);

}

return new Blob([ab], {

type: 'image/png'

});

}

```

(參考http://blog.csdn.net/cuixiping/article/details/45932793)

node服務端 ?https://github.com/xiemingzhang/nodejs_imgUpload

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容