从路径创建文件对象

Create a file object from a path

本文关键字:对象 文件 创建 路径      更新时间:2023-09-26

我使用的库在文档中有:

opentype.parse(缓冲区)

解析包含OpenType字体数据的ArrayBuffer

当我尝试将文件的URL位置作为参数传递时,它似乎失败并抛出此错误:

Uncaught TypeError: DataView构造函数的第一个参数必须是ArrayBuffer

根据我的理解,这个函数期望类似于文件对象的东西。我怎么能使这个工作只是文件路径位于我的应用程序的根目录?

var opentype = require('opentype.js');
var fs = require('fs');
function toArrayBuffer(buffer) {
    var ab = new ArrayBuffer(buffer.length);
    var view = new Uint8Array(ab);
    for (var i = 0; i < buffer.length; ++i) {
        view[i] = buffer[i];
    }
    return ab;
}
fs.readFile('font.otf', function(err, buffer) {
  if (err) throw errr;
  var font = opentype.parse(toArrayBuffer(buffer));
  console.log(font); // this is a Font object
});
注意,使用load方法也会得到相同的结果:
opentype.load('font.otf', function (err, font) {
  if (err) throw err;
  console.log(font); // this is a Font object
});