Angularjs + Cordova + UploadFile将Img转换为文件来执行POST
Angularjs + Cordova + UploadFile convert Img to file to do a POST
我正在开发一个Cordova 3.3.0应用+ Angularjs.
我想做一个多部分POST。服务器正在等待文件,我不能上传base64字符串,我有存储在设备中的图像的真实路径。
如果我需要使用它,我也有base64图像。
cordova中不支持输入文件。显然,出于安全原因,我不能将值设置为输入文件。
所以我必须将或base64转换为文件,然后进行post。
//convert DOM img to file
var data ={
'lumen_moore_editar_usuario_rest[gender]':'M',
'lumen_moore_editar_usuario_rest[file]':file
};
$http({url: WS_EDIT_USER, method: 'POST',
data: $.param(data),
transformRequest: angular.identity,
headers: {'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'}
}).success(function(data, status, headers, config) {
console.log("EDITAR IMAGEN SUCCESS "+ data);
}).error(function(data, status, headers, config) {
console.log("EDITAR IMAGEN ERROR "+ data);
});
有可能吗?我正在寻找很多这个答案,但不是运气,我不想使用FileTransfer。上传cordova.
对不起,我的英语不好。谢谢!
我不得不使用Cordova FileTransfer,它在第一次工作。它被封装在一个带有承诺的服务中。
editProfileUserImg:function(imageURI){
var deferred = $q.defer();
var options = new FileUploadOptions();
options.fileKey="file";
options.fileName=imageURI.substr(imageURI.lastIndexOf('/')+1);
var params = {};
options.params = params;
var headers={ 'Authorization':ACCESS_TOKEN.Authorization,
'X-WSSE':ACCESS_TOKEN.XWSSE};
options.headers = headers;
var ft = new FileTransfer();
ft.upload(imageURI, encodeURI(WS_CHANCE_PIC_USER),
function(r){
console.info("Code = " + r.responseCode);
console.info("Response = " + r.response);
console.info("Sent = " + r.bytesSent);
deferred.resolve(r.response);
},
function(error){
alert("An error has occurred: Code = " + error.code);
console.error("upload error source " + error.source);
console.error("upload error target " + error.target);
deferred.reject(error);
}, options);
return deferred.promise;
}
相关文章:
- 如何使用WCF服务和javascript表单post上传.doc文件
- 如何在php文件中获取$.post-ajax传递的值
- 如何使用post方法从方法上传文件
- AJAX不会在文件上传后重定向到网页-POST方法
- 下载使用POST数据动态生成的文件
- javascript:发送带有音频文件的POST,然后重定向到新页面
- jQuery使用$.post上传文件
- 如果($_SERVER[“REQUEST_METHOD”]=“POST”)条件在ajax调用不同的php文件进行验证和提
- 如何在ajax文件上传中添加额外的POST参数
- Ajax POST返回成功,但没有;t更新JSON文件
- 获取从 .post() 到 PHP 文件的响应,但只能在 MVC 中获取
- 在 Angular2 中构建多部分/表单数据 POST 请求并验证输入类型文件
- ExtJS 5 - 从 POST servlet 请求下载文件
- 如何使用AJAX将数据POST到php文件
- AJAX请求php获取post/get发送的指定目录中服务器上的文件列表(无JQUERY)
- 我无法以某种方式在数据库中POST文件
- $.post-to-php文件在AmazonEC2中没有'似乎不起作用
- 如何使用Angular将JSON和文件POST到web服务
- 隐藏表单文件POST在javascript
- 如何使用javascript将blob作为文件POST