//本地路径转base64
export function pathToDataURL(file) {
var type=file.slice(file.lastIndexOf(".")+1)
var xmlHttp = new ActiveXObject('MSXML2.XMLHTTP.6.0');
xmlHttp.open('POST',file, false);
xmlHttp.send('');
var xml_dom = new ActiveXObject('MSXML2.DOMDocument');
var tmpNode = xml_dom.createElement('tmpNode');
tmpNode.dataType = 'bin.base64';
tmpNode.nodeTypedValue = xmlHttp.responseBody;
var fileBase="";
switch (type) {
case "pdf":fileBase="data:application/pdf;base64,";break;
case "jpg":fileBase="data:image/jpg;base64,";break;
case "png":fileBase="data:image/png;base64,";break;
case "bmp":fileBase="data:image/bmp;base64,";break;
case "zip":fileBase="data:application/x-zip-compressed;base64,";break;
var imgBase64Data = fileBase+tmpNode.text.replace(/\n/g,"");
return imgBase64Data;
}catch (e) {
console.log(e);
//base64转File(IE)
export function dataURLtoFile(dataurl,fileName){
var arr = dataurl.split(','),
mime = arr[0].match(/:(.*?);/)[1],
bstr = atob(arr[1]),
n = bstr.length,
u8arr = new Uint8Array(n);
while (n--) {
u8arr[n] = bstr.charCodeAt(n);
var theBlob=new Blob([u8arr], { type: mime });
theBlob["lastModifiedDate"] = new Date();
theBlob["name"] = fileName;
return theBlob;
// arrayBuffer转base64
export function arrayBufferToBase64( buffer,fileName ) {
var type=fileName.slice(fileName.lastIndexOf(".")+1)
var fileBase="";
switch (type) {
case "pdf":fileBase="data:application/pdf;base64,";break;
case "jpg":fileBase="data:image/jpg;base64,";break;
case "png":fileBase="data:image/png;base64,";break;
case "bmp":fileBase="data:image/bmp;base64,";break;
case "zip":fileBase="data:application/x-zip-compressed;base64,";break;
var binary = '';
var bytes = new Uint8Array(buffer);
var len = bytes.byteLength;
for (var i = 0; i < len; i++) {
binary += String.fromCharCode(bytes[i]);
return fileBase+window.btoa(binary);