Javascript blob无法识别字体文件类型

Javascript blob无法识别字体文件类型,javascript,fonts,blob,font-face,Javascript,Fonts,Blob,Font Face,我正在尝试从本地文件加载字体文件并将其转换为uri 不幸的是,我在正确读取文件时遇到了一些问题 以下是我正在构建的函数: function fontToDataURI (file_path) { return fetch(file_path) .then(resp => resp.blob()) .then(blob => { console.log(blob.type) return new Promi

我正在尝试从本地文件加载字体文件并将其转换为uri

不幸的是,我在正确读取文件时遇到了一些问题

以下是我正在构建的函数:

 function fontToDataURI (file_path) {
    
    return fetch(file_path) 
      .then(resp => resp.blob()) 
      .then(blob => {
        console.log(blob.type)
        return new Promise(resolve => {

          let f = new FileReader();
          f.onload = e => resolve(f.result);
          f.readAsDataURL(blob);

        })
      })
      .then(dataURL => {
    
         let fontRule = `@font-face {
           font-family: "testfont face";
           src: url(${dataURL});
     
        }`

        return fontRule;
      })
不幸的是,resp.blob()无法正确读取文件的mimetype

当我将字体文件传递到函数georgia.tff中时,我认为应该看到一个blob类型的
font/ttf
。相反,我看到的是默认的
application/octet流

我使用了一个类似的函数从web中提取一个.woff2文件,它正确地识别了该文件


我有办法解决这个问题吗?谢谢大家!

感谢您的评论,@Carlos1232,可能是重复的。我想我已经解决了这个问题。在我的问题中,我已经有了将编码字体添加到@font-face的代码。我正在努力使blob具有正确的mime类型。手动更改是否合适?例如,编辑字符串以用
font/ttf
替换
application/octet-stream
?现在我记得,如果您获得application/octet-stream,是因为您获得了一个位数组。所以你可能必须先转换它然后使用blob,