2017-02-21 17 views
4

イメージとドキュメントのアップロードにmulterを使用していますが、今度はイメージのサイズが2MB以上であればアップロードを制限したいと考えています。文書のファイルのサイズはどのようにして調べることができますか?これまでのところ、私は以下のように試みましたが、動作しませんでしたNode.jsでファイルのサイズを見つける方法は?

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

誰でもお手伝いできますか?

+0

どのように 'filename'機能 – brk

+0

BRKこんにちは、私はそのことについてわからないが、私は、そのためのコールバックを使用していますを呼び出しています。 – Daniel

答えて

6
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 

か:

function getFilesizeInBytes(filename) { 
    var stats = fs.statSync(filename) 
    var fileSizeInBytes = stats["size"] 
    return fileSizeInBytes 
} 
+0

H Jamsamサイズを見つけるためにファイルをアップロードする必要があります。なぜなら、サイズが2MB未満のときだけアップロードしたいからです。 – Daniel

+0

ファイルをアップロードする前にフロントエンドのサイズを確認したいのですか? – Jameel

+0

モジュール "fs"のドキュメントによると、状態クラスは私が考えるようにファイルをアップロードしません:[fs](https://nodejs.org/api/fs.html#fs_class_fs_stats) – Jameel

関連する問題