我嘗試了互聯網上的每個解決方案,但都無法取得成功。在Angular JS中同時發送表單數據和上傳文件
我可以使用Angular JS上傳圖像文件。但是這次我需要額外的值來保存服務器上的圖像。我正在嘗試發送兩個數組。其中一個將是文件項目,另一個將是一個包含文件夾信息的簡單發佈數據。
subjectDetails.addData = function(post_value){
var defer = $q.defer();
var fd = new FormData();
fd.append('files', post_value.files);
fd.append('data', post_value.data);
//fd.append("data", 'something');
//fd.append("data", JSON.stringify(post_value.data));
$http.post($rootScope.defaultApiPath + '/saveItem', fd, {
withCredentials : false,
transformRequest: angular.identity,
headers: {'Content-Type': undefined}
})
.success(function(response, status){
defer.resolve(response);
})
.error(function(error, status){
defer.reject(error);
});
return defer.promise;
};
當我發佈它時,我可以用$ _FILES獲取圖像文件,但$ _POST變量爲NULL。
我試圖
var_dump($_POST); //NULL
var_dump($_POST['data']); //NULL
var_dump($_FILES); //shows only the file info. The other array is not in it
編輯
我找到了原因。問題不在於javascript。我在服務器端使用Slim Framework,Slim Framewrok無法解析FormData對象。當我嘗試將FormData對象發佈到一個簡單的PHP文件時,它可以工作。但隨着超薄框架3它不工作
我試圖
$request->getBody(); //Still NULL
$request->getParsedBody(); //Still Null
我不是一個角用戶。但是,如果他們支持它,你是否檢查了角度文檔? – Miks
我找不到有關發送角度文檔中的數據和圖像上傳的任何內容。但我相信它是受歡迎的。我只是想知道這個方法是否支持老版本的angular。我使用1.5,它不起作用。但帖子是從2015年。不是很老:) –