您好,下面的javascript代码允许我从文件系统中恢复文件并将其发送到前端,但是,当我运行代码时,出现以下错误是由于什么呢?
错误: TypeError [ERR_INVALID_ARG_TYPE]:第一个参数必须是字符串,Buffer,ArrayBuffer,Array或类似数组的对象之一。在此代码上收到的类型对象
JavaScript代码:
http.createServer(function(req, res) {
console.log("Recupero immagini");
var request = url.parse(req.url, true);
var action = request.pathname;
//Recupero il logo della società
if (action == '/logo.jpg') {
console.log("Recupero logo");
var img = fs.readFileSync('./Controller/logo.jpg');
res.writeHead(200, {
'Content-Type': 'image/jpeg'
});
res.end(img, 'binary');
}
//Recupero la firma del tecnico
else if (action == '/firmatecnico.png') {
console.log("Recupero logo tecnico");
var img2 = fs.readFileSync('./firmatecnico.png');
res.writeHead(200, {
'Content-Type': 'image/png'
});
res.end(img2, 'binary');
}
}).listen(8570);
尽管我不确定错误的原因是什么,但是您可以尝试从文件创建读取流,然后将它们通过管道传输到响应对象(这很有利,因为它不会将整个文件读取到内存中):
const http = require('http');
const fs = require('fs');
http.createServer(function(req, res) {
// ...
const fileStream = fs.createReadStream('./path/to/your/file');
fileStream.pipe(res);
// ...
}).listen(8570);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句