Retaining image file name and extension after upload in node.js (express) using multer

Murad Elboudy

<!doctype html>
<html>

    <body>
        <form action="/upload" method="POST" enctype="multipart/form-data">
            <input type='file' name="image">
            <br>
            <input type="submit" value="submit">
        </form>
   </body>

</html>

var express = require('express');
var router = express.Router();
var multer  = require('multer');
var upload = multer({ dest: 'uploads/',
    filename: function (req, file, cb) {
    cb(null, file.fieldname + '-' + Date.now())
} });

router.post('/upload', upload.single('image'), function(req, res){
    res.send("Uploaded");
});
module.exports = router;

I have this basic code that uploads an image using the multer module. But when the file is uploaded it generates some random name and even gets rid of the file extension. It just says type 'file'. So how can I keep the image name with the extension.

Krzysztof Sztompka

when you upload file (using multer.single method), you get file data in

req.file

it is object which have in properties originalname, mimetype, path and others. Check docs for all : https://github.com/expressjs/multer

But dont trust mimetype.

How keep image name and extension?

a) rename uploaded file using data in req.file (dont like it)

b) store file data (req.file) in db

edit about rename: when all downloaded files goes to one directory, and you change names to orginal, there may be conflicts - there may exists files with same names. Therefore, when you choose that way mayby you should move files to separate directories.

Next thing: Orginal file names may have insulting words or non standard chars (i dont know if it may be security isue) or be very long etc.

ok, how to rename? we can use express package fs https://nodejs.org/api/fs.html and methods:

fs.rename(oldPath, newPath, callback)

or

fs.renameSync(oldPath, newPath)

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

From Dev

Upload image with Java MultipartEntity to Node.js server using express and multer

From Dev

Using file-upload module multer in node+express

From Dev

node.js to upload image using multer shows undefined

From Dev

Multer, node.js : memory isn't purged after image upload and process

From Dev

Multer, node.js : memory isn't purged after image upload and process

From Dev

Image upload to server in node.js without using express

From Dev

Image upload to server in node.js without using express

From Dev

Filter files on the basis of extension using Multer in Express JS

From Dev

how to send image name in database using multer and express

From Dev

Node.js connection reset on file upload with multer

From Dev

Get file upload name and extension in JS

From Dev

Can't get the correct file upload using multer and node

From Dev

How do I upload multiple images using multer in node js?

From Dev

node.js multer saving file name into db

From Dev

Testing Express multer file array upload with Supertest

From Dev

About using Multer(1.0.6) and Express to upload files

From Java

Node/Express file upload

From Dev

node multer AWS single file multiple upload

From Dev

Angular JS Express JS Node JS file upload issue

From Dev

How to delete file after upload using node?

From Dev

Multiple image upload using Node.js

From Dev

upload image in form using node.js

From Dev

Node Js Meteor Js Image File Upload Image Corrupted

From Dev

Node Js Meteor Js Image File Upload Image Corrupted

From Dev

Simple way to upload image with node.js and express?

From Dev

reassemble binary after flow.js upload on node/express server

From Dev

reassemble binary after flow.js upload on node/express server

From Dev

node multer return new file name

From Dev

How to save file using Express 4 and Multer?

Related Related

  1. 1

    Upload image with Java MultipartEntity to Node.js server using express and multer

  2. 2

    Using file-upload module multer in node+express

  3. 3

    node.js to upload image using multer shows undefined

  4. 4

    Multer, node.js : memory isn't purged after image upload and process

  5. 5

    Multer, node.js : memory isn't purged after image upload and process

  6. 6

    Image upload to server in node.js without using express

  7. 7

    Image upload to server in node.js without using express

  8. 8

    Filter files on the basis of extension using Multer in Express JS

  9. 9

    how to send image name in database using multer and express

  10. 10

    Node.js connection reset on file upload with multer

  11. 11

    Get file upload name and extension in JS

  12. 12

    Can't get the correct file upload using multer and node

  13. 13

    How do I upload multiple images using multer in node js?

  14. 14

    node.js multer saving file name into db

  15. 15

    Testing Express multer file array upload with Supertest

  16. 16

    About using Multer(1.0.6) and Express to upload files

  17. 17

    Node/Express file upload

  18. 18

    node multer AWS single file multiple upload

  19. 19

    Angular JS Express JS Node JS file upload issue

  20. 20

    How to delete file after upload using node?

  21. 21

    Multiple image upload using Node.js

  22. 22

    upload image in form using node.js

  23. 23

    Node Js Meteor Js Image File Upload Image Corrupted

  24. 24

    Node Js Meteor Js Image File Upload Image Corrupted

  25. 25

    Simple way to upload image with node.js and express?

  26. 26

    reassemble binary after flow.js upload on node/express server

  27. 27

    reassemble binary after flow.js upload on node/express server

  28. 28

    node multer return new file name

  29. 29

    How to save file using Express 4 and Multer?

HotTag

Archive