微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用提取来编写JS缓冲区

如何解决使用提取来编写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 举报,一经查实,本站将立刻删除。