我有一个现有的POST API,因此:
var data = {
userName: $scope.loginData.userName,
password : forge_sha256($scope.loginData.password),
XDEBUG_SESSION_START: 'ECLIPSE_DBG'
};
var url = HOST + 'api/login.php';
$http.post(url, data)
.success(function(data, status, headers, config)
{
我想上传一个文件,就像this Plunk
中所做的那样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(){
});
我认为他们的意思是$scope.uploadFileToUrl
我需要发送一些参数和文件,以验证用户是否有权上传和描述文件。
我的问题是,如何指定我需要发送的文件和其他一些POST参数?
我想我可以在标题中发送参数,但这似乎是错误的。我还在服务器端编写PHP代码。
答案 0 :(得分:2)
我会将参数放在表单数据中。 您可以将它们与
之类的文件一起附加var fd = new FormData();
fd.append("param1", param1val);
fd.append('param2', param2val);
fd.append('file', file);
我相信这可以在服务器端的PHP中被视为多部分形式。