【发布时间】:2020-09-21 11:17:33
【问题描述】:
您好,我正在尝试读取文件,但 nodejs 中的 fileReader readAsArrayBuffer 函数出现问题。
var FileReader = require("filereader");
let p12_path = __dirname + "/file.p12";
var p12xxx = fs.readFileSync(p12_path, "utf-8");
var reader = new FileReader();
reader.readAsArrayBuffer(p12xxx);//The problem is here
reader.onloadend = function() {
arrayBuffer = reader.result;
var arrayUint8 = new Uint8Array(arrayBuffer);
var p12B64 = forge.util.binary.base64.encode(arrayUint8);
var p12Der = forge.util.decode64(p12B64);
var p12Asn1 = forge.asn1.fromDer(p12Der);
............
}
-------错误
Error: cannot read as File: "0�6�\.............
【问题讨论】:
-
FileReader 类从何而来?它不是原生 JS / NodeJS。
-
你好 Niklas 我导入为 var FileReader = require("filereader");它是一个 npm 包,npmjs.com/package/filereader
-
除了我的回答:你能描述一下你想读什么样的文件以及你打算如何处理这些数据吗?
-
另外一个:是否需要使用npm包文件阅读器?如果没有更多上下文,最好还是直接使用原生
fs.readFile(path, callback) -
Niklas 我正在尝试采用一种实现来使用 xades-bes 对 xml 进行签名,这个实现是在浏览器端工作的。所以我试图将它调整到 nodejs 中的工作服务器端。这是codesanbox上的代码codeandbox.io/s/heuristic-chaum-px00o?file=/src/xades-bes.js –