【问题标题】:type script Argument of type '{ type: string[]; }' is not assignable to parameter of type 'BlobPropertyBag'type script 类型参数 '{ type: string[]; }' 不可分配给“BlobPropertyBag”类型的参数
【发布时间】:2017-09-23 13:56:21
【问题描述】:
  • 我尝试将您的代码集成到我的打字稿代码库中...
  • 我收到这样的错误 [ts] 类型参数 '{ type: string[]; }' 不可分配给“BlobPropertyBag”类型的参数。属性“类型”的类型不兼容。类型 'string[]' 不能分配给类型 'string'。 (属性)类型:string[] a t 这一行 ----------------> var csv = "a,b,c\n1,2,3\n";让 data = new Blob([csv], {type: mimeType});
  • 下面提供代码。
  • 在普通 js 中而不是在 typescript 中的示例小提琴。
  • 你能告诉我如何解决它吗

http://jsfiddle.net/jcqtawad/

let types = ["text/plain", "application/pdf"];

let downloads = health.map(function(version) {
                  let ext = version.mobileVersion.replace(/.*(?=\.\w+)/, "");
                  let mimeType = types.filter(function(type) {
                                   return type.indexOf(ext) > -1
                                 });
                  let data = new Blob([/*  Blob data */], {
                               type: mimeType
                             });
                  return $("<a>", {
                           "class": "sportsDataPlayer",
                           download: ev.FileName + ext,
                           type: mimeType,
                           href: URL.createObjectURL(data),
                           html: ev.FileName
                         });
                });

【问题讨论】:

    标签: javascript jquery angularjs typescript kendo-ui


    【解决方案1】:

    HTML5 Blob 构造函数只接受 MIMEtype 的值作为字符串,而不是像下面的 Blob 构造函数那样接受 string[]

    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

    【讨论】:

      猜你喜欢
      • 2019-02-08
      • 2020-08-04
      • 1970-01-01
      • 2020-11-15
      • 2021-10-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-06
      相关资源
      最近更新 更多