[英]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.