システム構成:macOS Sierra 10.12.5; chrome 60;
JSONデータ(応答オブジェクト)をJSONファイルとしてダウンロードしようとしていますが、ブラウザーのFile()オブジェクトを使用してこれを実現しようとすると、エラーが発生します
_Failed to construct 'File': Iterator getter is not callable.
_
以下は私のコードです
_//`inputData` is the valid response getting from $http.get
var stringifyData = JSON.stringify(inputData);
console.log("stringifyData ", stringifyData);
var file = new File(blob, "filename.json", {type: "text/json;charset=utf-8"});
console.log("file", file);
_
問題は何ですか、なぜこのエラーが発生するのですか。 JSON.stringify(inputData, undefined, 4);
を使用すると、エラーは発生せず、コンソールに適切なオブジェクトが表示されます。
あなたの場合、File
コンストラクタの署名が正しくない場合、最初の引数は次のようになります:
ArrayBuffer、ArrayBufferView、Blob、またはDOMStringオブジェクトの配列、またはそのようなオブジェクトの混合。これは、UTF-8としてエンコードされたファイルコンテンツです。
https://developer.mozilla.org/en-US/docs/Web/API/File/File#Parameters
new File([blob], "filename.json", {type: "text/json;charset=utf-8"});
遅れていることはわかっていますが、同じ問題に直面しているので、BLOBをFILEに変換するのに役立つ関数を投稿する必要があると考えました。ありがとう
imageCropped(event: ImageCroppedEvent) {
this.Files = event.file;
let fileName = new Date().getTime() + ".jpeg";
let filedata = new File([this.Files], fileName, {
type: "image/jpeg",
lastModified: Date.now()
});
console.log(filedata);
}