1. ホーム
  2. javascript

[解決済み] Node.jsでファイルサイズを調べるには?

2023-01-07 20:02:13

質問

画像や文書のアップロードにmulterを使用していますが、今回、画像のサイズが>2mbの場合にアップロードを制限したいと思います。ドキュメントのファイルサイズはどのように調べればよいのでしょうか?今のところ、以下のように試してみましたが、うまくいきません。

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);
  }
});

どなたか助けてください。

どのように解決するのですか?

ファイルのサイズをメガバイト単位で取得するには。

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 / (1024*1024);

またはバイト単位で

function getFilesizeInBytes(filename) {
    var stats = fs.statSync(filename);
    var fileSizeInBytes = stats.size;
    return fileSizeInBytes;
}