我的应用程序的某些部分需要帮助!我试图用Http Post Request上传头像图片使用CordovaFileTransfer和Cordova Camera。当我试图这样做时,我的离子应用程序代码414 url请求错误太长了!我使用Wordpress Rest Api Json User Plus插件!
当我发送文件与Postman它工作,但当我尝试使用代码我有错误!
我的按钮
<button ng-click="uploadAvatar()"><i class="fa fa-camera"></i> Upload Avatar</button>
我的控制器
$scope.uploadAvatar = function() {
var user = AuthService.getUser();
var options = {
quality : 75,
destinationType : Camera.DestinationType.DATA_URL,
sourceType : Camera.PictureSourceType.CAMERA,
allowEdit : true,
encodingType: Camera.EncodingType.JPEG,
popoverOptions: CameraPopoverOptions,
targetWidth: 500,
targetHeight: 500,
saveToPhotoAlbum: false
};
$cordovaCamera.getPicture(options)
.then(function(imageData) {
$http.post('http://hannation.me/api/userplus/avatar_upload?cookie=' + user.cookie + '&key=57f211a0354d7' + '&avatar=data:image/png;base64,' + imageData)
}, function(error) {
console.error(error);
});
}
&#13;
我做错了什么?我认为我的代码是正确的,因为代码尝试将文件发送到服务器吗? 请帮助我,这个小部分会失去一个星期!
我用
更改为此
$scope.uploadAvatar = function() {
var user = AuthService.getUser();
var options = {
quality : 75,
destinationType : Camera.DestinationType.DATA_URL,
sourceType : Camera.PictureSourceType.CAMERA,
allowEdit : true,
encodingType: Camera.EncodingType.JPEG,
popoverOptions: CameraPopoverOptions,
targetWidth: 500,
targetHeight: 500,
saveToPhotoAlbum: false
};
$cordovaCamera.getPicture(options)
.then(function(imageData) {
var req = {
method: 'POST',
url: 'http://hannation.me/api/userplus/avatar_upload',
data: 'cookie=' + user.cookie + '&key=57f211a0354d7' + '&avatar=data:image/png;base64' + imageData
}
$http(req).then(function(response){
console.log(req);
},
function(error) {
console.error(error);
})
})
}
&#13;
但钢铁不起作用!现在我有404错误!
答案 0 :(得分:1)
这是因为您与post
和get
不匹配,您正在撰写$http.post
,但您要在网址中传递数据。
var req = {
method: 'POST',
url: 'http://hannation.me/api/userplus/avatar_upload',
data: cookie=' + user.cookie + '&key=57f211a0354d7' + '&avatar=data:image/png;base64,' + imageData
}
$http(req).then(function(response){
console.log(response);
}, function(error){
console.log(error);
});
检查angularjs http {/ 3>的docs