Javascript 英特尔xdk将base64转换为本地映像
这就是我想走的路 步骤1服务器返回映像的base64 步骤2:手机应用程序将base64转换为图像 步骤3手机应用程序将图像保存到手机 步骤4使用cordova应用程序获取图像的文件URI 我已经可以完成第1步和第4步了。我的问题是尝试将base64转换为手机上的图像。我知道我可以使用图像标记源中的base64来显示图像,但这对我不起作用。我需要一个用于cordova上传呼叫的文件URI,将base64发送到此呼叫在android中工作,但在iOS中不工作 任何帮助都将不胜感激。祝大家迟来的圣诞节快乐!!: 更新: 我一直在尝试下载图像,而不是接收base64响应,以便为上载方法提供有效的文件uri,而不是base64:Javascript 英特尔xdk将base64转换为本地映像,javascript,cordova-plugins,intel-xdk,appframework,Javascript,Cordova Plugins,Intel Xdk,Appframework,这就是我想走的路 步骤1服务器返回映像的base64 步骤2:手机应用程序将base64转换为图像 步骤3手机应用程序将图像保存到手机 步骤4使用cordova应用程序获取图像的文件URI 我已经可以完成第1步和第4步了。我的问题是尝试将base64转换为手机上的图像。我知道我可以使用图像标记源中的base64来显示图像,但这对我不起作用。我需要一个用于cordova上传呼叫的文件URI,将base64发送到此呼叫在android中工作,但在iOS中不工作 任何帮助都将不胜感激。祝大家迟来的圣诞
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
);
这会不断返回一个错误代码=3,android上没有在iOS上测试过。仍然卡住。如果将dataurl显示为画布中的图像,则可以将其保存为文件。这里有一些可能性--toDataURL,toBlob。我不确定这是否是您所需要的,但如果您可以得到一个Blob,您应该能够将其写入文件,我认为。