Node.js : 获取上传文件的内容以创建读取流
Node.js : get content of uploaded file for creating read stream
需要你的帮助,我有xhr post请求:xhr.send(form.file.files[0]);
我正在尝试以这种方式将此文件上传到我的服务器:
require('http').createServer(function(req, res) {
let pathname = decodeURI(url.parse(req.url).pathname);
let file = new fs.ReadStream(req);
let path = fs.createWriteStream(__dirname + '/files' + pathname);
file.pipe(path);
file.on('error', function(err) {
console.log(err);
endConnection(res, 500, 'Server Error');
});
res.on('close', file.destroy.bind(file));
}
主要问题是上线new fs.ReadStream(req); - ReadStream 的参数只能包含字符串,但 req 是一个对象。如何从请求中获取上传的文件内容?
上传的文件作为 multipart/form-data
请求的一部分发送,通常使用中间件或其他实用程序来获取文件。 (一个请求也可以发送多个文件)。
查看 Multer or multiparty
等解决方案
试试这个
let writer = fs.createWriteStream(hereFullNameToYourFileOnServer);
request.pipe(writer);
需要你的帮助,我有xhr post请求:xhr.send(form.file.files[0]); 我正在尝试以这种方式将此文件上传到我的服务器:
require('http').createServer(function(req, res) {
let pathname = decodeURI(url.parse(req.url).pathname);
let file = new fs.ReadStream(req);
let path = fs.createWriteStream(__dirname + '/files' + pathname);
file.pipe(path);
file.on('error', function(err) {
console.log(err);
endConnection(res, 500, 'Server Error');
});
res.on('close', file.destroy.bind(file));
}
主要问题是上线new fs.ReadStream(req); - ReadStream 的参数只能包含字符串,但 req 是一个对象。如何从请求中获取上传的文件内容?
上传的文件作为 multipart/form-data
请求的一部分发送,通常使用中间件或其他实用程序来获取文件。 (一个请求也可以发送多个文件)。
查看 Multer or multiparty
等解决方案试试这个
let writer = fs.createWriteStream(hereFullNameToYourFileOnServer);
request.pipe(writer);