gpt4 book ai didi

javascript - 基于nodejs中的缓冲区数据创建文件

转载 作者:搜寻专家 更新时间:2023-10-31 23:51:20 25 4
gpt4 key购买 nike

我从前端客户端发送一个文件,在服务器端我有这样的东西:

{ name: 'CV-FILIPECOSTA.pdf',
data: <Buffer 25 50 44 46 2d 31 2e 35 0d 25 e2 e3 cf d3 0d 0a 31 20 30 20 6f 62 6a 0d 3c 3c 2f 4d 65 74 61 64 61 74 61 20 32 20 30 20 52 2f 4f 43 50 72 6f 70 65 72 ... >,
encoding: '7bit',
mimetype: 'application/pdf',
mv: [Function: mv] }

我需要的是创建文件可能基于那里的缓冲区,我该怎么做?

我已经搜索了很多,但没有找到任何解决方案。

这是我到目前为止尝试过的:

router.post('/upload', function(req, res, next) {
if(!req.files) {
return res.status(400).send("No Files were uploaded");
}
var curriculum = req.files.curriculum;
console.log(curriculum);
curriculum.mv('../files/' + curriculum.name, function(err) {
if (err){
return res.status(500).send(err);
}
res.send('File uploaded!');
});
});

最佳答案

你可以使用 Buffer可用于 NodeJS:

let buf = Buffer.from('this is a test');
// buf equals <Buffer 74 68 69 73 20 69 73 20 61 20 74 65 73 74>

let str = Buffer.from(buf).toString();
// Gives back "this is a test"

Encoding也可以在重载的 from 方法中指定。

const buf2 = Buffer.from('7468697320697320612074c3a97374', 'hex');
// This tells that the first argument is encoded as a hexadecimal string

let str = buf2.toString();
// Gives back the readable english string
// which resolves to "this is a tést"

在您获得可读格式的数据后,您可以使用 fs 存储它NodeJS 中的模块。

fs.writeFile('myFile.txt', "the contents of the file", (err) => {
if(!err) console.log('Data written');
});

因此,将缓冲输入转换为字符串后,您需要将字符串传递给writeFile 方法。您可以查看 fs 模块的文档。它将帮助您更好地理解事物。

关于javascript - 基于nodejs中的缓冲区数据创建文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46236674/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com