Javascript 英特尔xdk将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中不工作 任何帮助都将不胜感激。祝大家迟来的圣诞

这就是我想走的路

步骤1服务器返回映像的base64

步骤2:手机应用程序将base64转换为图像

步骤3手机应用程序将图像保存到手机

步骤4使用cordova应用程序获取图像的文件URI

我已经可以完成第1步和第4步了。我的问题是尝试将base64转换为手机上的图像。我知道我可以使用图像标记源中的base64来显示图像,但这对我不起作用。我需要一个用于cordova上传呼叫的文件URI,将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
        );

这会不断返回一个错误代码=3,android上没有在iOS上测试过。仍然卡住。

如果将dataurl显示为画布中的图像,则可以将其保存为文件。这里有一些可能性--toDataURL,toBlob。我不确定这是否是您所需要的,但如果您可以得到一个Blob,您应该能够将其写入文件,我认为。