[英]setting Content-Type: in angular js post request
<input type="file" ng-model="articleimg" placeholder="upload related img">
$http.post($scope.base_url+'create.php',
{params {view:'view',articleimg:$scope.articleimg}})
.then(function(response){
console.log(response);
});
我想知道在angularjs发布请求中如何以及在哪里指定内容类型:multipart / form-data?
请协助。 默认值似乎是“ application / json,text / plain”,不适用于图像/文件上传。
if(isset($_FILES['articleimg'])===true ){
echo "sucessfull";
}else echo "unsuccessfull";
上面的代码总是回显不成功。
angular中的$ http.post快捷方式方法包含三个参数:URL,请求数据和一个配置对象,您可以在其中设置标题,如下所示:
$http.post('/someUrl', data, {headers:{'Content-Type': 'multipart/form-data'}}).then(successCallback, errorCallback);
您的情况将是:
$http.post($scope.base_url+'create.php',
{params {view:'view',articleimg:$scope.articleimg}}, {headers:{'Content-Type': 'multipart/form-data'})
.then(function(response){
console.log(response);
});
您还可以像下面那样构造请求对象:
{
method: 'POST',
url: $scope.base_url+'create.php',
headers: {
'Content-Type': 'multipart/form-data'
},
data: {params {view:'view',articleimg:$scope.articleimg}}
}
然后发出这样的请求:
$http(req).then(function(){...}, function(){...});
如果要设置通用的应用程序范围标头,则可以使用默认标头,默认情况下,默认标头将添加到所有请求中,如下所示:
$httpProvider.defaults.headers.common['Content-Type'] = 'multipart/form-data';
这将为所有请求添加上述内容类型。
文档中的更多信息在这里
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.