12

問題は解決しました、コメントを読んでください

HTML5 File API に関する 3 つ目の問題: Mac OS X Snow Leopard で Chrome 12 を使用し、HTML5 File API でファイルを読み込もうとしていますが、「SECURITY_ERR」が原因で FileHandler.error() が呼び出されます。発生します。読み取ろうとしているファイルは、デスクトップからの通常の .txt ファイルですが、通常のアプリケーションで開くことはできますが、他のファイルでは機能しません。

function FileHandler(files, action) {
    console.log('FileHandler called.');

    this.files = files;
    this.reader = new FileReader();
    this.action = action;

    this.handle = function() {
        console.log('FileHandler.handle called.');

        for (var i = 0; i < this.files.length; i++) {
            this.reader.readAsDataURL(files[i]);
        }
    }

    this.upload = function() {
        console.log('FileHandler.upload called.');
        console.log(this.reader);

        data = {
            content: this.reader.result
        }

        console.log(data);
    }

    this.error = function() {
        console.log('An error occurred while reading the file.');
        console.log(this.reader.error);
    }

    this.reader.onload = this.upload.bind(this);
    this.reader.onerror = this.error.bind(this);
}

このコードは、次のコンソール出力を生成します: http://cl.ly/1x1o2F0l2m3L1T2c0H0i

4

1 に答える 1

13

からアプリをテストする場合はfile://、次のフラグを使用して Chrome を実行できます: --allow-file-access-from-files --allow-file-access. これは、テスト目的でのみ使用してください。

于 2011-10-07T19:07:00.593 に答える