2016-04-28 11 views
1

Ich benutze https://github.com/nervgh/angular-file-upload/ und ich muss Dateigröße an meinen Backend-Server senden.Angular Datei Upload Größe

ich keine Lösung finden, ist dieser Header, die ich erhalte:

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

Auf der Demo-Seite, schaue ich die JSON Rückgabe per Code, da ist eine Länge. function onAfterAddingFile gibt ein Objekt mit _file und einer Länge – Alexis

+0

zurück Es übergibt keinen Header wie 'Content-Length' ... – Davide

+0

Sie müssen nur Ihre Größe Länge mit der richtigen Eigenschaft senden ... Sie können senden, was Sie in Ihrem Backend wollen Server, Sie haben eine Länge, also senden Sie es – Alexis

Antwort

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

Ich verwende auch die gleiche Logik –

0

Ich verwende Winkel-Datei-Upload zu und node.js Server. Diese

ist, wie ich meine Datei in meinem Winkel Controller laden:

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

Und ich empfange meine Datei auf meinem Server wie folgt mit npm 'multer' Paket:

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

Und das ist meine 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 
      } 
     } 
    }); 

Hoffe es hilft.

Verwandte Themen