2013-07-17 25 views
0

如何从我的角度控制器上传文件。我正在做类似于ng-click的操作,我正在调用在控制器中声明的upload_file()函数。我想用这样的东西如何从ng-controller上传文件?

$http.post("url", data).success().error(); 

url是节点上传服务。当我使用like时它工作正常。但是如果不在那里采取行动,我想从我的功能上传它。
但我没有得到如何将选择的文件附加到这里的数据。我想发送一些数据以及文件。我可以以我尝试的方式上传吗?请帮我...

回答

0

您可以使用angular-file-upload库:

基本上你需要$ http.post这样的:

$http({ 
       method: 'POST', 
       url: config.url, 
       headers: { 'Content-Type': false }, 
       transformRequest: function (data) { 
        var formData = new FormData(); 
         formData.append('file', myFile); 
        for (key in myData) { 
         formData.append(key, myData[key]); 
        } 
        return formData; 
       } 
      }).success().error().progress() 

库支持IE浏览器与Flash填充工具通常不支持FormData,因此您无法从<input file...>获取文件对象。