我正在開發使用英特爾XDK構建apk文件的Android平臺的JavaScript應用程序。我使用人行橫道爲Android打造與檢查API來讀,寫和瀏覽文件系統層次結構,基於W3C文件API選項。我可以輕鬆打開文件,但無法將它們保存到設備中。無法保存在JavaScript混合應用程序中的JavaScript文件(英特爾XDK人行橫道版本)
爲了節省我沒有使用下面的代碼(代碼工作以及在桌面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 interpritation。
如何解決這個問題,並能夠保存文件?
Cordova有API上傳/下載文件。這是否符合您的需求? https://github.com/apache/cordova-plugin-file-transfer/blob/dev/doc/index.md – rscohn2
@ rscohn2,這個API在加載前有提示,你可以選擇一個路徑,如? – 31415926