没有FormData的AngularJs文件上传

时间:2014-09-22 14:41:52

标签: javascript ajax angularjs file-upload

我已经为文件上传制作了一个简单的拖放指令,但我主要担心的是我需要支持IE8 / 9,所以考虑到不支持FormData,我该如何进行多文件上传不使用FormData对象?

提前致谢。

修改 我正在尝试做的是:

$scope.uploadFile = function () {
      var upload = $http.post('awesomeFileThatWantsMultipleFilesUploaded.php',
                 angular.element(document.getElementsByClassName('droppable')).scope().files,
                 {withCredentials: true,
                  headers: {'Content-Type': undefined },
                  transformRequest: angular.identity})
           .success(function (response) {
               });

      return upload;
   }

但问题是,当浏览器不支持FormData时,我将files变量初始化为array,然后我将每个文件推送到变量。如果文件是FormData,则可以使用。

1 个答案:

答案 0 :(得分:0)

不要手工制作。相当凌乱,你总会有问题。你可以使用polyfill for formdata,比如moxie,我可以使用角度angular-file-upload甚至可以从浏览器上传到S3(here

如果您想手动完成,请检查这些存储库中的代码并找到一些想法