2014-08-28 81 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