使用提取来编写JS缓冲区

问题描述

我正在使用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 (将#修改为@)