Javascript 如何将文件数组从angular发送到php脚本?

Javascript 如何将文件数组从angular发送到php脚本?,javascript,php,angularjs,Javascript,Php,Angularjs,我想在我的应用程序中实现文件上传。我使用AngularJS并在控制器中编写方法来从表单输入获取所有文件。在浏览器控制台中,我有一个包含选定文件的数组,但当我将此数组发送到后端时,它是空的。我用同样的方法发送其他数据,我可以在PHP脚本中毫无问题地读取它,只有文件数组是空的 这是从输入获取文件并将其发送到后端的方法: $scope.addFilesFunction = function() { $scope.filesList = document.getElementById(

我想在我的应用程序中实现文件上传。我使用AngularJS并在控制器中编写方法来从表单输入获取所有文件。在浏览器控制台中,我有一个包含选定文件的数组,但当我将此数组发送到后端时,它是空的。我用同样的方法发送其他数据,我可以在PHP脚本中毫无问题地读取它,只有文件数组是空的

这是从输入获取文件并将其发送到后端的方法:

 $scope.addFilesFunction = function() {
        $scope.filesList = document.getElementById('fileupload').files;
        var fd = new FormData();
        for (var i = 0; i < $scope.filesList.length; i++) {
             fd.append('file', $scope.filesList[i]);
        }
        Database.insert('file', {'files': fd}, function(response) {

        });
    };
发件人:

如果没有所有的代码,这有点难说,但是看起来好像您没有将实际的文件发布到PHP

.service('fileUpload', ['$http', function ($http) {
    this.uploadFileToUrl = function(file, uploadUrl){
        var fd = new FormData();
        fd.append('file', file);
        $http.post(uploadUrl, fd, {
            transformRequest: angular.identity,
            headers: {'Content-Type': undefined}
        })
        .success(function(){
        })
        .error(function(){
        });
    }
}]);

然后使用您的php脚本处理您想要使用的任何数据库魔术。
如果要导入文件数组,只需将数组传递给fileUpload,然后遍历文件数组并使用FormData append追加每个文件。

您试图发送到后端的文件格式是什么?
.service('fileUpload', ['$http', function ($http) {
    this.uploadFileToUrl = function(file, uploadUrl){
        var fd = new FormData();
        fd.append('file', file);
        $http.post(uploadUrl, fd, {
            transformRequest: angular.identity,
            headers: {'Content-Type': undefined}
        })
        .success(function(){
        })
        .error(function(){
        });
    }
}]);
var file = $scope.myFile;
var uploadUrl = 'http://www.example.com/yourphpscript.php';
fileUpload.uploadFileToUrl(file, uploadUrl);