私のChrome拡張機能を使用して、ファイルをWebサイトにアップロードする前に取得したい(そしておそらく変更したい). 特にファイル入力から。別の言い方をすれば、input[type=file] でファイルを選択した場合、Chrome 拡張機能で送信を中断してファイルを取得する必要があります。次に、拡張機能がその魔法をファイルに適用し、その後、ファイルを送信/アップロードできます。どうすればこれにアプローチできますか?
ファイルパスで問題が発生します。ファイル入力の値を取得すると、HTML5 の標準と互換性の問題により、常に実際のパスが「 C:\fakepath\」に変更されます。どうすればファイルにアクセスできますか?多分それはいくつかのクロムストレージに一時的に保存されていますか?
編集:まあ、私はこのようにファイル入力で選択されたファイルを読み取ることができました:
var file;
$('input[type=file]').change(function(e){
file = e.target.files[0];
var reader = new FileReader();
reader.onload = function (event) {
console.log(event.target.result); //contains the file data
//maybe change data and use filewriter
};
reader.readAsDataURL(file);
};
FileWriter を使用して e.target.files[0] に書き込みたいと思います
http://www.html5rocks.com/en/tutorials/file/filesystem/のチュートリアルに従い ましたが、適切な FileWriter を作成できません。
ディスク上の元のファイルに書き込む必要はありません (不可能かもしれません) が、対応するファイル入力フォーム フィールドでアップロードに使用されるデータを変更する必要があります。