无法构造'文件':使用JSON.stringify()时,在Chrome 60中无法调用Iterator getter()

问题描述:

系统配置:macOS Sierra 10.12.5;铬60;无法构造'文件':使用JSON.stringify()时,在Chrome 60中无法调用Iterator getter()

我试图下载JSON数据(反应物)作为一个JSON文件,但是当我试图实现这一目标使用浏览器文件()对象,它提供了错误

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"});