使用我的 chrome 扩展程序,我想在文件上传到网站之前抓取一个文件(并可能更改它)。特别是来自文件输入。换句话说,如果我选择一个带有 input[type=file] 的文件,我希望我的 chrome 扩展程序中断任何提交并获取文件。然后我的扩展程序将它的魔力应用于文件,然后可以提交/上传文件。我该如何处理?
文件路径出现问题。如果我获取文件输入的值,由于 HTML5 标准和兼容性问题,它总是将实际路径更改为“C:\fakepath\”。那我该如何访问该文件?也许它暂时保存在某些 chrome 存储中?
编辑:好吧,我设法读取了在文件输入中选择的文件,如下所示:
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。
没有必要写入磁盘上的原始文件 - 甚至可能不可能 - 但我需要更改用于在相应文件输入表单字段中上传的数据。