2014-08-28 36 views
0

我試圖上傳的角度應用程序內的圖像上傳的文件,代碼如下:

 var f = document.getElementById('product-image').files[0], 
     r = new FileReader(); 
     r.onloadend = function (e) { 
      var data = e.target.result; 
      $http({ 
       method: 'POST', 
       data: data, 
       url: host + '/uploadFile?' + $rootScope.user._id, 
       headers: { 
        'Content-Type': 'multipart/form-data', 
        'X-File-Name': f.name, 
        'X-File-Size': f.size, 
        'X-File-Type': f.type 

       } 
      }) 
      .success(function (data, status, headers, config) { 
       console.log(data) 
      }); 

     } 
     r.readAsArrayBuffer(f); 

當我看看的鍍鉻頭字段要求,他們都看起來很好,值。

現在,我如何在NodeJS和Express中從後端端點訪問並保存該文件?我是否像往常一樣查看req變量?我在哪裏查找文件及其內容和元數據?

回答

0

基本上,你的發佈請求不是'multipart/form-data',你發送給服務器的數據只是二進制數組。

因此,您可以使用NodeJS將二進制數據的主幹保存到某個位置。

您需要處理的數據與正常表單上傳文件的方式不同。

如果您確實希望服務器以正常方式處理文件上傳,您可以檢查https://github.com/danialfarid/angular-file-upload