15

の files 属性input[type=file]は読み取り専用です。したがって、ブロブ データをこの入力要素に書き込むことはできません。

しかし、を使用して新しい入力ファイル要素を作成すると、作成時にJavscriptblob データを挿入できますか? 他のブラウザで動作するソリューションにのみ興味がchrome (extension)あります。他のブラウザは関係ありません。

4

2 に答える 2

2

new File()コンストラクターは chromium / chrome 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);

于 2016-03-04T17:41:15.747 に答える