gpt4 book ai didi

javascript - Angularjs + Cordova + UploadFile 将 Img 转换为文件以进行 POST

转载 作者:行者123 更新时间:2023-11-29 19:41:51 26 4
gpt4 key购买 nike

我正在开发 Cordova 3.3.0 应用程序 + Angularjs。

我正在尝试进行多部分 POST。服务器正在等待文件,我无法上传 base64 字符串,但我有存储在设备中的图像的真实路径。

如果我需要使用它,我还有 base64 图像。

cordova 不支持输入文件。显然,出于安全原因,我无法将值设置为输入文件。

所以我必须将 或 base64 转换为文件,然后再进行发布。

//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);
});

这可能吗??。我一直在寻找这个答案,但运气不好,我不想使用 Cordova 的 FileTransfer.upload。

对不起我的英语。

谢谢!

最佳答案

我不得不使用 Cordova FileTransfer,它在第一次运行时就成功了。它包含在带有 promise 的服务中。

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;
}

关于javascript - Angularjs + Cordova + UploadFile 将 Img 转换为文件以进行 POST,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22565822/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com