我目前正在将数组中的文件上传到服务器,但其未定义。但是,检查控制台日志时会出现一个对象。我的问题如何在服务器上发布。是否有正确的方法来执行此操作,以便我可以在服务器的foreach循环中处理我的文件。这是我的代码。
HTML
NULL
console log js
js
<td>
<div class="requpload form-input">
<div class="controls">
<div class="normal-input">
<input type="file" ng-file-model="info.file[pIndex]">
</div>
</div>
</div>
</td>
服务器
$scope.saveInfo = function(){
var form_data = new FormData();
angular.forEach($scope.info.file, function(file){
form_data.append('file', file);
});
$http.post('data.php', form_data,
{
transformRequest: angular.identity,
headers: {'Content-Type': undefined,'Process-Data': false}
}).then(function(response){
console.log(response.data);
});
}
答案 0 :(得分:0)
您需要替换angular.forEach
中的代码,如:
angular.forEach($scope.files, function(file){
console.log(file);
form_data.append('file[]', file);
});
其余的angularjs代码与您发布的相同。现在,在您的服务器端代码中处理单个或多个文件。
foreach($_FILES['file']['name'] as $key=>$val){ //foreach for handle single or multiple file upload
$upload_dir = "upload/";
$upload_file = $upload_dir.$_FILES['file']['name'][$key];
$filename = $_FILES['file']['name'][$key];
if(move_uploaded_file($_FILES['file']['tmp_name'][$key],$upload_file)){
//Here, Insert the path or filename into database.
}
}