type script'{type:string [];类型的参数''不能赋值给'BlobPropertyBag'类型的参数

时间:2017-09-23 13:56:22

标签: javascript jquery angularjs typescript kendo-ui

  • 我尝试将您的代码集成到我的代码库中,这是typescript ...
  • 我收到这样的错误 [ts]类型'{type:string []; }'不能赋值给'BlobPropertyBag'类型的参数。属性“类型”的类型不兼容。类型'string []'不能分配给'string'类型。 (属性)类型:string [] a 这一行----------------> var csv =“a,b,c \ n1,2,3 \ n”; let data = new Blob([csv],{type:mimeType});
  • 以下代码。
  • 样本小提琴,正常js不是打字稿。
  • 你能告诉我如何修理它

http://jsfiddle.net/jcqtawad/

{{1}}

1 个答案:

答案 0 :(得分:0)

HTML5 Blob构造函数仅接受MIMEtype的值作为字符串,而不是string[]根据下面的Blob构造函数

new Blob(blobParts[, options])

例如,以下代码的作用是type属性的值为string

let data = new Blob([csv], {type: "text/plain"});

但是在您的代码中,您根据下面的代码为string[]属性分配type,其中mimeType在使用filter后仍然是一个数组。

 let mimeType = types.filter(function(type) {
                                   return type.indexOf(ext) > -1
                                 });

因此您必须像下面一样使用它,因为MimeType只能在按扩展名过滤后包含单个值。

let data = new Blob([/*  Blob data */], {
                               type: mimeType[0]
                             });

查看以下链接以获取有关Blob的更多参考

https://developer.mozilla.org/en-US/docs/Web/API/Blob/Blob

https://dzone.com/articles/html5-blob-objects-made-easier