问题描述
我正在使用express作为服务器端。我想将缓冲区数据写入由抓取发送的一个文件中。如果数据不是缓冲区,则可以解决。但是,如果数据是缓冲区,则会给我500错误。 这是客户端代码,它只是一个脚本。
const fs = require('fs');
const fetch = require('node-fetch');
const FormData = require("form-data")
let rs = fs.createReadStream('./test.txt');
let formData = FormData();
let arr = [];
rs.on('data',function(chunk) {
arr.push(chunk);
})
rs.on('end',function(chunk) {
let data = Buffer.concat(arr);
console.log(Buffer.isBuffer(data),data);
let formData = new FormData();
formData.append('mydata',Buffer.from('Hello'));
console.log(formData.getBuffer());
let options = {
method: 'POST',body: formData
}
fetch('http://www.test.com/poster',options).then((res)=>{
console.log(res);
})
})
这是服务器端代码。
let express = require('express');
let router = express.Router();
let fs = require('fs');
let multer = require('multer');
let debug = require('debug')('log');
let upload = multer({dest: './uploads/'});
router.get('/',function(req,res,next) {
res.send('Hello you!');
});
router.post('/',upload.single('mydata'),next) {
console.log('Yes we get it');
console.log(req.body.mydata);
fs.writeFile('test1.txt',req.body.mydata,(err)=>{
if (err) {
console.log(err);
}
console.log('done');
});
res.send(req.body.mydata);
});
module.exports = router;
此Express在我自己的计算机上运行,而www.test.com实际上是我的虚拟本地主机。我只是不知道该怎么办。请帮我在这里!谢谢!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)