所以这是我想要的道路。
步骤1)服务器返回图像的base64
步骤2)手机应用将base64转换为图像
步骤3)手机应用程序将图像保存到手机
步骤4)使用cordova应用程序获取图像的文件URI
我已经可以执行第1步和第4步了。我的问题是尝试使用base64并将其转换为手机上的图像。我知道我可以使用图像标签源中的base64来显示图像,但这对我不起作用。我需要一个文件URI来与cordova上传调用一起使用(发送base64到这个调用在android中工作但在iOS中不起作用)。
任何帮助将不胜感激。圣诞节快乐圣诞节大家! :)
更新:
我一直在尝试下载图片而不是接收base64响应,以便为上传方法提供有效的文件uri而不是base64:
var uri = encodeURI("<my_server>/public/assets/uploads/img_54a2b5b29912b.jpg");
var fileURL = "/sdcard/testCordova/file.png";
var ft = new FileTransfer();
var options = new FileUploadOptions();
var headers={'Authorization':authHeader};
ft.download(
uri,
fileURL,
function(entry) {
alert("download complete: " + entry.toURL());
},
function(error) {
alert("download error source " + error.source);
alert("download error target " + error.target);
alert("upload error code" + error.code);
},
true,
options
);
这继续在android上返回错误代码= 3(尚未在iOS上测试)。还是卡住了。