作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在从数据库中检索文件数据,我需要发送到前端(我的前端有下载文件的下载操作)如何将这些类型的 url 转换为文件。我希望它可以用于任何文件类型(doc、txt、jpg、pdf、zip .....)
"data:text/plain;charset=utf-8;base64,MzQuNjIzNjU..................."
这是我的实现。它适用于 txt,但由于某些原因不适用于 jpg 和其他文件类型。谁能帮我解决这个问题? (我认为这可能是编码或解码问题)谢谢:)
let mime = file.url.split(',')[0].split(':')[1].split(';')[0];
console.log(mime);
let content = unescape(encodeURIComponent(file.url.split(',')[1]));
content = Buffer.from(content, 'base64').toString();
console.log(content);
let temp = mime + ";charset=UTF-8";
res.set('Content-Type', temp);
res.set('Content-Disposition','attachment; filename=' + file.name );
res.send(content);
最佳答案
您可以使用content = new Buffer(content, 'base64')
如果你想将它保存到一个文件中,你可以使用这个:
/* name is the name of the file you want to save your file in.*/
fs.writeFile(name , content, {encoding: 'base64'}, function(err){
if (err) console.log('err', err);
console.log('success');
});
关于Javascript 如何将 Base 64 url 转换为文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62586986/
我是一名优秀的程序员,十分优秀!