How could I upload files in ExpressJS 4.x

前端 未结 3 604
野的像风
野的像风 2020-12-16 02:33

I know there are something like multiparty, and busboy and formidable. I want to know is there any chance to upload files without them.

3条回答
  •  夕颜
    夕颜 (楼主)
    2020-12-16 02:47

    Standalone parsers like busboy can be used with or without Express.js. On the other hand Express.js middlewares augment the request object by adding req.files that you can conveniently access the files. Some implementations store intermediate files either in temp directory or in memory. Others let you access stream of uploaded file contents without busting the server's memory or hard disk.

    It's possible to implement parsing multipart/form-data HTTP request yourself and it's a fine programming exercise. However, if development time, maintainability and bug fixes are of concern, then ready-made libraries come in handy.

    Depending on your situation, ask these questions in order to determine which library suits you best.

    • is saving intermediate files ok, or do you want to stream the files?
    • if saving intermediate files is alright, would you prefer them in memory or on hard disk?

    Then pick one from the list of most used file upload processing libraries. The decision tree is from the article:

    Choose between Formidable, Busboy, Multer and Multiparty for processing file uploads

    Choose between Formidable, Busboy, Multer and Multiparty for processing file uploads

提交回复
热议问题