J'utilise multer pour télécharger mes images et mes documents, mais cette fois, je souhaite limiter le téléchargement si la taille de l'image est> 2 Mo. Comment trouver la taille du fichier du document? Jusqu'ici j'ai essayé comme ci-dessous mais je ne travaillais pas.
var storage = multer.diskStorage({
destination: function (req, file, callback) {
callback(null, common.upload.student);
},
filename: function (req, file, callback) {
console.log(file.size+'!!!!!!!!!!!!!!')======>'Undefined'
var ext = '';
var name = '';
if (file.originalname) {
var p = file.originalname.lastIndexOf('.');
ext = file.originalname.substring(p + 1);
var firstName = file.originalname.substring(0, p + 1);
name = Date.now() + '_' + firstName;
name += ext;
}
var filename = file.originalname;
uploadImage.Push({ 'name': name });
callback(null, name);
}
});
Est-ce que quelqu'un peut m'aider s'il vous plait?
var fs = require("fs"); //Load the filesystem module
var stats = fs.statSync("myfile.txt")
var fileSizeInBytes = stats["size"]
//Convert the file size to megabytes (optional)
var fileSizeInMegabytes = fileSizeInBytes / 1000000.0
ou:
function getFilesizeInBytes(filename) {
var stats = fs.statSync(filename)
var fileSizeInBytes = stats["size"]
return fileSizeInBytes
}
De plus, utilisez le package NPM filesize https://www.npmjs.com/package/filesize
Ce paquet rend les choses un peu plus configurables
var fs = require("fs"); //Load the filesystem module
var filesize = require("filesize");
var stats = fs.statSync("myfile.txt")
var fileSizeInMb = filesize(stats.size, {round: 0});
Le lien ci-dessus par @gerryamurphy est cassé pour moi, donc je vais créer un lien vers un paquet que j'ai créé pour cela.
https://github.com/dawsbot/file-bytes
L'API est simple et devrait être facilement utilisable:
fileBytes('README.md').then(size => {
console.log(`README.md is ${size} bytes`);
});
Faites-moi savoir si vous avez besoin d'aide!