1

C# アプリケーションを実行しています。この C# アプリケーションには、http で実行されているリモート サイトを指す Chromium (ビルド 18) ブラウザーが組み込まれています。これは Backbone/Require サイトなので、99% JavaScript です。

このサイトのすべては、FileReader を除いて、Chrome 内とまったく同じように機能します。何をアップロードしようとしても、NOT_READABLE_ERR に到達します。

常に NOT_READABLE_ERR をトリガーするビルド 14 のバグを認識しています。これはビルド 18 で修正されました (伝えられるところによると?)。

--file-allow-file-access フラグを有効にしてみました。それは助けにはなりませんでした。

関連する JS コードは次のとおりです。申し訳ありませんが、私は C# コードにアクセスできませんが、陥っている可能性のある落とし穴がある場合は、そこに変更を提案できます。http://www.google.com/imghpは組み込みの Chromium ブラウザ内で問題なく動作するため、C# は問題ないと思います。

いくつかの注意: ファイルはロックされていません。複数のファイルとファイルの種類を試しました。C# アプリケーションはローカル (Windows クライアント) で実行され、http サイトに向けられた Chromium ブラウザーが組み込まれています。

// called from <input type='file'> change event
fileSelected: function(e) {
    this._processFile(e.target.files[0]);
},

_processFile: function(filehandle) {
    var reader = new FileReader();

    reader.onload = function(evt) {
        console.log('done loading', evt);
    };

    reader.onprogress = function(evt) {
        console.log("on progress!");
        if(evt.lengthComputable) {
            console.log("loaded: " + evt.loaded);
            console.log("total: " + evt.total);
        }
    };

    reader.onloadstart = function(evt) {
        console.log("on load start!");
    };

    reader.onerror = function(evt) {
        switch(evt.target.error.code) {
            case evt.target.error.NOT_FOUND_ERR:
                console.log('File Not Found!');
                break;
            case evt.target.error.NOT_READABLE_ERR:  // we always arrive here, no matter what type of file.  img, pdf, etc.  files are not locked.
                console.log('File is not readable');
                break;
            case evt.target.error.ABORT_ERR:
                break; // noop
            default:
                console.log('An error occurred reading this file.');
        };
    };

    reader.onabort = function() {
        console.log("upload aborted.");
    };

    reader.readAsDataURL(filehandle);
}
4

0 に答える 0