js服务器文件转换成base64,jsbase64转成file上传服务器(示例代码)

var myfile = dataURLtoFile(imgUri, Date.now() + ‘.png‘);

var formFile = new FormData();

formFile.append(‘file‘, myfile);

//上传服务器

$.ajax({

url: ‘/index/Image/upImg‘,

data: formData,

url: ‘/index/Image/zhengshu_upImg‘,

data: formFile,

type: "post",

//ajax2.0可以不用设置请求头,但是jq帮我们自动设置了,这样的话需要我们自己取消掉

contentType: false,

//取消帮我们格式化数据,是什么就是什么

processData: false,

success: function (data) {

console.log(data)

return data.data.src;

callNative.download(data.data.src);

}

});

// 把base64 转换成文件对象

function dataURLtoFile(base64Str, fileName) {

var arr = base64Str.split(‘,‘),

mime = arr[0].match(/:(.*?);/)[1], //base64解析出来的图片类型

bstr = atob(arr[1]), //对base64串进行操作,去掉url头,并转换为byte atob为window内置方法

len = bstr.length,

ab = new ArrayBuffer(len), //将ASCII码小于0的转换为大于0

u8arr = new Uint8Array(ab); //

while (len--) {

u8arr[len] = bstr.charCodeAt(len)

};

// 创建新的 File 对象实例[utf-8内容,文件名称或者路径,[可选参数,type:文件中的内容mime类型]]

return new File([u8arr], fileName, {

type: mime

})

};

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值