繁体   English   中英

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

[英]How to send array of files from angular to php script?

我想在我的应用程序中实现文件上传。 我使用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代码的一部分:

$postdata = file_get_contents("php://input");
$request = json_decode($postdata);
$files = $request->files;

来自: https : //uncorkedstudios.com/blog/multipartformdata-file-upload-with-angularjs

如果没有所有代码,这很难说,但是似乎您没有将实际文件发布到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(){
        });
    }
}]);

var file = $scope.myFile;
var uploadUrl = 'http://www.example.com/yourphpscript.php';
fileUpload.uploadFileToUrl(file, uploadUrl);

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM