gpt4 book ai didi

javascript - 无法在 Android 混合应用程序(英特尔 XDK 人行横道构建)中用 javascript 保存文件

转载 作者:太空狗 更新时间:2023-10-29 12:43:18 25 4
gpt4 key购买 nike

我正在为 android 平台开发 javascript 应用程序,使用英特尔 XDK 构建 apk 文件。我正在使用 Crosswalk for android build 并勾选基于 W3C 文件 API用于读取、写入和导航文件系统层次结构的 API 选项。我可以轻松打开文件,但无法将它们保存到设备。

为了保存,我确实使用了以下代码(该代码在桌面 chrome 浏览器中运行良好):

<html>
<head>
<script src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
</head>
<body>
<img id="img"/>

<script>
saveImg = function (img, fileName) {
var a = document.createElement('a');
a.setAttribute('href', img.src);
a.setAttribute("download", fileName);
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
};

$(document).ready(function () {
var img = document.getElementById('img');
img.src = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAASUlEQVRo3u3PAQ0AIAwDsIGC+TcLLkhOWgddSU6G a5udT4iIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIi8cQEjUgGTmE6z3QAAAABJRU5ErkJggg==";
img.onload = onload;
function onload(){
saveImg(img, 'savedImg');
};
});
</script>
</body>
</html>

我的 android 设备写入:完成下载文件 并且在下载文件夹中出现文件:png;base64,iVBORw0KGgoAAAA...6z3QAAAABJRU5ErkJggg==.bin。文件大小为 0KB,而且我注意到文件的名称正是我试图保存的 img 的 base64 解释。

如何解决这个问题并能够保存文件?

最佳答案

Crosswalk 是一个网络运行时,它不像其他浏览器那样提供下载管理器 UI,它不应该成为运行时的目标。当用户单击下载链接时,Crosswalk 会生成 Android 选择的下载管理器,它会启动下载管理器或默认浏览器来下载资源。

如果 web 开发人员想要下载文件并将其保存到设备( native 文件系统),我认为 Cordova download api 现在应该是一个不错的选择。请参阅:https://cordova.apache.org/docs/en/3.0.0/cordova_file_file.md.html#FileTransfer是否符合您的要求?

关于javascript - 无法在 Android 混合应用程序(英特尔 XDK 人行横道构建)中用 javascript 保存文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22092411/

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