Chrome:使用 Javascript 从 blob 创建文件输入? [英] Chrome: Create file input from blob with Javascript?

查看:30
本文介绍了Chrome:使用 Javascript 从 blob 创建文件输入?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

好吧,input[type=file] 的 files 属性是只读的.因此我不能将我的 blob 数据写入这个输入元素.

Well, the files attribute of an input[type=file] is read-only. Therefore I can not write my blob data into this input element.

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

But if I create a new input file element using Javscript, then possible to insert blob data on creation? I am only interested in solutions working in chrome (extension) - other browsers do not matter.

推荐答案

new File() 构造函数在chromium/chrome 38+ 可用.请参阅文件构造器示例文件 API.

new File() constructor is available at chromium / chrome 38+. See File Constructor Sample , File 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);

这篇关于Chrome:使用 Javascript 从 blob 创建文件输入?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆