我制作了一个HTML 5应用程序,在我的服务器上下载pdf文件,并将其写入浏览器沙箱系统。
当我去文件系统:myServerUrl / persistent时,我看到我的pdf文件大小正确。我点击它,并有一个“下载启动”通知,但大约一秒后,我收到下载错误(当我查看Android日志时的原因404)。
我尝试过下载。但我有同样的错误
请注意,它在我的计算机上工作正常,当我尝试使用图像时,我可以直接显示它(只需单击文件名),但无法下载。
我在任何地方找不到任何信息,我错过了什么?
我如何下载文件:
function fetchResource() {
var xhr = new XMLHttpRequest();
xhr.open("GET", resourceURL, true);
xhr.responseType = "arraybuffer";
xhr.onload = function(e) {
console.log("xhr responded");
if (this.status == 200) {
console.log("status 200");
writeFile(this.response);
}
}
xhr.send();
console.log("xhr sent");
}
我如何写文件:
function writeFile(content){
console.log("writeFile");
fs1.root.getFile('test2.pdf', {create: true}, function(fileEntry) {
// Create a FileWriter object for our FileEntry (log.txt).
fileEntry.createWriter(function(fileWriter) {
fileWriter.onwriteend = function(e) {
console.log('Write completed.');
alert("completed");
};
fileWriter.onerror = function(e) {
console.log('Write failed: ' + e.toString());
alert("erreur: "+e.toString());
};
var blob = new Blob([content]);
fileWriter.write(blob);
}, errorHandler);
});
}
更新:英文确切的错误信息是
<Untitled>
Download unsuccessful
此外,当我显示本地图像,并且我长按它时,禁用“保存图像”选项。这可能是有意的吗?为什么呢?
答案 0 :(得分:0)
我刚刚在Stable,Beta测试了这个。它有点工作。
稳定(27)存在无法下载客户端生成的文件的问题。例如,如果您使用a [download]属性,您将看到它打开了下载程序,但只是在那里无所事事。
在Beta(28)中,一切都按预期工作,所以我希望你的pdf也能保存。
我在这里简化了您的代码:http://jsbin.com/opavet/latest适用于Beta上的两个链接。但只有后来稳定。