如何从ng-controller上传文件?

时间:2013-07-17 18:04:34

标签: node.js angularjs upload

如何从角度控制器上传文件。我正在做的事情,在ng-click我调用upload_file()函数,它在我的控制器中声明。我想用这样的东西

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

url是节点上传服务。当我使用它时,它工作正常。但是没有在那里使用动作,我想从我的功能上传它 但我没有得到如何将所选文件附加到此处的数据。我想发送一些数据和文件。我可以按照我尝试的方式上传吗?请帮帮我......

1 个答案:

答案 0 :(得分: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 with flash polyfill,它通常不支持FormData,因此您无法从<input file...>获取文件对象。