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

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

问题描述

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



但是,如果使用 Javscript ,那么可以在创建时插入blob数据?我只对在 chrome(扩展名)中工作的解决方案感兴趣 - 其他浏览器无关紧要。

解决方案 >新建File()构造函数在chromium / chrome 38+中可用。请参阅文件构造器示例

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 = (); reader.addEventListener(load,function p>


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

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() 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天全站免登陆