从节点客户端到节点服务器的多个文件上传

时间:2020-05-21 15:24:26

标签: javascript node.js axios

嗨,我正在运行带有multer的节点服务器来上传多个文件。

const multer = require('multer');
const app = express();

const upload = multer({dest:'uploads/'});

const SERVER_PORT = 8080;

app.listen(SERVER_PORT,()=>{
    console.log("Server listening")
})

app.post('/upload/bak', upload.array('file'), (req,res)=>{
    console.log(JSON.stringify(req.files[0]))
    // console.log("Files uploaded: " + req.files.reduce((prev,current)=>{
    //     console.log(JSON.stringify(prev))
    // }))

    res.end(JSON.stringify({
        status:"complete"
    }));

})

现在,我可以使用postman form-data请求并选择多个文件,使用post发布多个文件(存储在系统上)。

我要在这里完成的工作是使用另一个节点应用程序(最好使用axiosstreams,这样,如果文件很大,它们就不会占用所有内存)。

如何将多个流放入formdata中并发布,以便上面的应用程序能够处理它?<​​/ p>

请帮助!

1 个答案:

答案 0 :(得分:0)

您可以使用FORMDATA上载。

    const formData = new FormData();

    formData.append('avatar',file)

    return  await axios.post(this.UPLOAD_ENDPOINT, formData,{
        headers: {
            'content-type': 'multipart/form-data'
        }
    });

了解更多:https://www.techiediaries.com/react-formdata-file-upload-multipart-form-tutorial/

相关问题