Chrome: создать входной файл из blob с помощью Javascript?

Ну, атрибут файлов input[type=file] доступен только для чтения. Поэтому я не могу записать свои данные blob в этот элемент ввода.

Но если я создаю новый элемент входного файла, используя Javscript, то можно ли вставить данные о блобе при создании? Меня интересуют только решения, работающие в chrome (extension) - другие браузеры не имеют значения.

Ответы

Ответ 1

Конструктор

new File() доступен для хрома/хрома 38+. См. Пример конструктора файлов, Файл 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);