Node.js - Ayuda alguien me puede decir como cambiar los nombres de los ficheros que estoy subiendo con formida

 
Vista:
sin imagen de perfil
Val: 3
Ha disminuido su posición en 2 puestos en Node.js (en relación al último mes)
Gráfica de Node.js

Ayuda alguien me puede decir como cambiar los nombres de los ficheros que estoy subiendo con formida

Publicado por jose angel (3 intervenciones) el 27/12/2018 20:17:31
Buenas, no consigo cambiar los nombres de los ficheros que subo a mi servidor nodejs utilizando el modulo formidable, los fichero que subo obtienen automaticamente un nombre parecido a este : upload_3cf8c4dbab8ec8915bfc726ccdc2e3bf.png . Me gustaria ponerle un nombre por ejemplo cuando se suba fotoPerfil_3cf8c4dbab8ec8915bfc726ccdc2e3bf.png Para poder identificarlas porque si no seria imposible.
A continuacion dejo la funcion que he utilizado para subir la foto:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
router.post('/uploadImage', async (request, response) => {
    const form = new formidable.IncomingForm()
    const address = path.dirname(__filename).split('/')
    var fs = require('fs');
    address.pop()
 
    form.uploadDir = `BACKEND/imagenes/`;
    form.keepExtensions = true;
    form.maxFieldsSize = 10 * 1024 * 1024;
    form.multiples = true; //multiples archivos
 
 
    form.parse(request, (err, fields, files) => {
        if (err) {
            response.json({
                message: 'error al subir la imagen',
                data: []
            })
        }
 
        form.on('file', function (field, file) {
            //rename the incoming file to the file's name
 
            let nombre = 'archivo';
            //fs.rename(file.path, form.uploadDir + "/" + 'HOLAAA');
            fs.rename(nombre, form.uploadDir + "/");
        });
 
        let data
 
        console.log('FILES = ' + files)
 
        let filesPath
 
        if (Array.isArray(files)) { //Si se han subido mas de un archivo, es decir, si es un Array de archivos
            filesPath = files.map(file => file.path)
        } else {
            filesPath = files.path
        }
 
 
 
        response.json(data)
    })
 
})



1
2
3
4
5
6
7
form.on('file', function (field, file) {
    //rename the incoming file to the file's name
 
    let nombre = 'archivo';
    //fs.rename(file.path, form.uploadDir + "/" + 'HOLAAA');
    fs.rename(nombre, form.uploadDir + "/");
});

Eso tendria que cambiar el nomrbe del fichero pero no lo hace
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder