簡體   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