2016-04-28 28 views
1

私はhttps://github.com/nervgh/angular-file-upload/を使用しています。ファイルサイズをバックエンドサーバーに送信する必要があります。角度ファイルアップロードサイズ

{ 
    filename:'new02.png', 
    headers:{ 
    'content-disposition':'form-data; name="files"; filename="new02.png"', 
    'content-type':'image/png' 
    } 
} 
+0

デモページでは、コードでJsonのリターンを見ていますが、長さがあります。関数onAfterAddingFileは、_fileと長さを持つオブジェクトを返します。 – Alexis

+0

'Content-Length'のようなヘッダを渡しません... – Davide

+0

あなたは正しいプロパティであなたのサイズの長さを送信するだけです...あなたはあなたのバックエンドで望みを送ることができますサーバー、あなたは長さを持っているので、それを送信 – Alexis

答えて

1
$scope.uploadFile = function(files) { 
files[0].type; //MIME type 
files[0].size; //File size in bytes 
}; 
+0

私も同じロジックを使用して –

0

私はあまりにも角度のファイル・アップロードとNode.jsのサーバーを使用しています:

私はどんな解決策が見つからない、これは私が受け取るヘッダーがあります。

これは私が私の角度コントローラの私のファイルをアップロードする方法です:

$scope.uploadInternationalFile = function(file) { 
    if (file && file.length) { 
     file.upload = Upload.upload({ 
      url: '/api/upload', 
      method: 'POST', 
      file: file 
     }); 
     file.upload.then(function(response) { 
      // file Sent 
     }); 
    } 
}; 

そして、私はNPMと、このように私のサーバー上の私のファイルを受け取る「multer」パッケージ:

module.js

var privateStorage = multer.diskStorage({ 
    destination: function(req, file, callback) { 
      callback(null, './files/'); 
     }, 
     filename: function(req, file, callback) { 
      callback(null, file.originalname); 
     } 
    }); 

    var limits = { 
     fieldNameSize: 100, 
     fileSize:20000000, 
     files: 1, 
     fields: 5 
    }; 

    var self = module.exports = { 
     uploadPrivate: multer({ 
      storage:privateStorage, 
      limits:limits 
     }).single('file') 
    }; 

そして、これは私のAPIです:

var fileUpload = require('module.js'); 
    app.post('/api/upload', function(req, res) { 
     fileUpload.uploadPrivate(req, res, function(err) { 
      if (err) { 
       // There is an upload error 
      } 
      else { 
       // Your file has been sent 
      } 
     } 
    }); 

希望します。