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);
}