0

サーバーに PDF ファイルをダウンロードし、それをブラウザーのサンドボックス システムに書き込む HTML 5 アプリケーションを作成しました。
filesystem:myServerUrl/persistent に移動すると、正しいサイズの PDF ファイルが表示されます。それをクリックすると、「ダウンロード開始」の通知が表示されますが、約 1 秒後にダウンロード エラーが発生します (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

安定版、ベータ版でこれをテストしました。そして、それは一種の作品です。

安定版 (27) には、クライアントが生成したファイルをダウンロードできないという問題があります。たとえば、a[download] 属性を使用すると、ダウンローダーが開きますが、何もせずにそこに座っていることがわかります。

ベータ版 (28) では、すべてが期待どおりに機能するため、PDF も保存されると思います。

ここでコードを簡略化しました: http://jsbin.com/opavet/latestは、ベータ版の両方のリンクで機能します。しかし、安定したのは後者だけです。

于 2013-06-24T13:48:17.937 に答える