0

我制作了一个 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

4

1 回答 1

0

我刚刚在 Stable,Beta 上测试过这个。它有点工作。

Stable (27) 存在无法下载客户端生成文件的问题。例如,如果您使用 a[download] 属性,您会看到它打开了下载器,但只是坐在那里什么都不做。

在 Beta (28) 中,一切都按预期工作,所以我希望您的 pdf 也能保存。

我在这里简化了您的代码:http: //jsbin.com/opavet/latest,它适用于 Beta 版的两个链接。但只有后期才稳定。

于 2013-06-24T13:48:17.937 回答