Chrome:使用Javascript从blob创建文件输入?

时间:2012-07-31 12:21:33

标签: file google-chrome input google-chrome-extension blob

嗯,input[type=file]的files属性是只读的。因此,我无法将blob数据写入此输入元素。

但是如果我使用Javscript创建一个新的输入文件元素,那么可以在创建时插入blob数据吗?我只对chrome (extension)中使用的解决方案感兴趣 - 其他浏览器无关紧要。

1 个答案:

答案 0 :(得分:1)

new File()构造函数可用于铬/铬38+。请参阅File Constructor SampleFile API



var date = new Date(),
  filename = "file-" + date.getTime() + ".html";

var generatedFile = new File(
  ["<!DOCTYPE html><html><body>" + filename + "</body></html>"]
  , filename
  , {
  type: "text/html",
  lastModified: date
  }
);

var objUrl = URL.createObjectURL(generatedFile);

console.log(generatedFile, objUrl);

var reader = new FileReader();

reader.addEventListener("load", function(event) {
  console.log(event.target.result)
});

reader.readAsText(generatedFile);
&#13;
&#13;
&#13;