blobToDataURI(blobData, function (result) {
console.log(result);
});
const blob = base64ToBlob(sBaseFile);
if (window.navigator && window.navigator.msSaveOrOpenBlob) {
window.navigator.msSaveOrOpenBlob(blob);
} else {
const fileURL = URL.createObjectURL(blob);
window.open(fileURL);//弹出ppf文件
base64ToBlob 方法在txt中,这里放不下了
一、multer中间件
再上传文件时,我们通常会使用到他。Multer用于处理multipart/form-data 类型的表单数据。首先我们先安装它:
cnpm install multer --save
首先在form表单中我们需要设置enctype为:multipart/form-data表单类型。同时我们也需要用到fs模块对文件重命名。下面是单文件上传实例:
<!DOCT...
最近在做项目过程中碰到一个需求,前端在上传文件或图片时传入的文件被后台强制改名,以至于下载(给的url)的时候无法获取到当前文件名称。故此,就有了下面的故事。 网上检索了一大堆下载时的方法,绝大部分都不能使用(坑人),现做一个整理,保证药到病除。废话不多说,咱们直接开始
本方法不适用于IE,不适用于IE,不适用于IE,测试兼容过程中发现用axios的GET请求会导致当前文件损坏,现在不知原因为何。本文部分参考某大神代码片段(找不到网址了,就不贴了)......
前端将base64编码的内容转换成网络URL路径,可以使用以下两种方式:
1. 使用URL.createObjectURL方法将Blob对象转换成URL路径。
```javascript
function convertBase64ToUrl(base64Str) {
// 将base64编码的内容转换成Blob对象
const blob = dataURItoBlob(base64Str);
// 使用 URL.createObjectURL 方法将 Blob 对象转换成 URL 路径
const url = URL.createObjectURL(blob);
// 使用该 URL 路径来显示图片或其他类型的文件
displayFile(url);
function dataURItoBlob(dataURI) {
// 将dataURI转换成Blob对象
const byteString = atob(dataURI.split(',')[1]);
const mimeString = dataURI.split(',')[0].split(':')[1].split(';')[0];
const ab = new ArrayBuffer(byteString.length);
const ia = new Uint8Array(ab);
for (let i = 0; i < byteString.length; i++) {
ia[i] = byteString.charCodeAt(i);
return new Blob([ab], { type: mimeString });
在上面的代码中,`convertBase64ToUrl`函数接收一个base64编码的字符串,将其转换成Blob对象并使用`URL.createObjectURL`方法将其转换成URL路径。`displayFile`函数用于使用该URL路径来显示图片或其他类型的文件。`dataURItoBlob`函数用于将base64编码的字符串转换成Blob对象。
2. 直接使用base64编码的字符串作为URL路径。
```javascript
function convertBase64ToUrl(base64Str) {
// 使用 base64 编码的字符串作为 URL 路径
const url = `data:image/png;base64,${base64Str}`;
// 使用该 URL 路径来显示图片或其他类型的文件
displayFile(url);
在上面的代码中,`convertBase64ToUrl`函数接收一个base64编码的字符串,直接使用base64编码的字符串作为URL路径。`displayFile`函数用于使用该URL路径来显示图片或其他类型的文件。需要注意的是,直接使用base64编码的字符串作为URL路径可能会导致URL过长,不适合用于大文件的显示。