文件转base64
<body>
<input type="file" name="" id="file" value="" />
<script>
$("#file").change(function(e) {
var file = document.getElementById("file").files[0];
reader.readAsDataURL(file);
})
var reader = new FileReader();
reader.onload = function(e) {
var base64 = e.target.result;
console.log(base64)
};
</script>
</body>
base64转文件
/**
* @name: 生成下载路径
* @param {String} fileName 文件名称
* @param {String} file base64字符串
* @return: 下载路径url
*/
//将base64转换为文件
var filename = "1";
var base64 = ""// 文件转出来的base64
function dataURLtoFile(dataurl, filename) { // 生成Blob
var arr = dataurl.split(',');
var mime = arr[0].match(/:(.*?);/)[1];
var bstr = atob(arr[1]);
var n = bstr.length;
var u8arr = new Uint8Array(n);
while (n--) {
u8arr[n] = bstr.charCodeAt(n);
}
return new Blob([u8arr], { type: mime });
}
function createDownloadFileUrl(fileName, file) {
const blob = this.dataURLtoFile(file, fileName); // application/zip 需要改成要下载文件的类型
blob.lastModifiedDate = new Date();
blob.name = fileName;
return URL.createObjectURL(blob);
}
console.log(createDownloadFileUrl(filename, base64))// 转出来是blob地址