2017-09-23 3 views
0
  • J'ai essayé d'intégrer votre code dans mon code de base qui est dactylographié ...
  • Je reçois une erreur comme celle [ts] Argument de type » {type : chaîne[]; } 'n'est pas assignable au paramètre de type' BlobPropertyBag '. Les types de propriétés 'type' sont incompatibles. Le type 'chaîne []' n'est pas assignable au type 'chaîne'. (propriété) type: chaîne [] a t cette ligne ----------------> var csv = "a, b, c \ n1,2,3 \ n"; let data = new Blob ([csv], {type: mimeType});
  • ci-dessous.
  • échantillon violon qui est en js normal pas dans tapuscrit.
  • pouvez-vous me dire comment fixer

http://jsfiddle.net/jcqtawad/type script Argument de type '{type: chaîne []; } « Est pas cessibles au paramètre de type « BlobPropertyBag »

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

Répondre

0

Le constructeur HTML5 Blob accepte la valeur de MIMETYPE en tant que chaîne uniquement et non comme string[] selon le constructeur de Blob ci-dessous

new Blob(blobParts[, options])

Par exemple le code ci-dessous fonctionne comme la valeur de type propriété est un string:

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

Mais dans votre code que vous assignez un string[] à la propriété type selon le code ci-dessous où mimeType est encore un tableau après l'utilisation filter.

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

donc vous devez utiliser comme ci-dessous comme MimeType ne doit contenir une valeur unique après filtre par extension.

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

Découvrez ci-dessous les liens pour plus référence Blob

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

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