系统配置:macOS Sierra 10.12.5;铬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);
时,它不会给出错误并在控制台中显示正确的对象。
答案 0 :(得分:32)
在您的情况下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"});
答案 1 :(得分:1)
我知道我来晚了,但是我面临着同样的问题,因此我认为应该发布我的函数,这将有助于将BLOB转换为FILE。 谢谢
{{1}}