【发布时间】:2019-08-01 14:20:57
【问题描述】:
我有一个应用程序正在使用带有 encrypt.js 的 publicKey 创建一个文件。用户可以将此文件下载为“PublicKey.pem”作为证书。在同一个应用程序中,用户可以上传这个文件,应用程序将加密密钥并使其成为字符串。所有这些都在 Mac 和 Linux 上运行良好。但是当我尝试在 Windows 上上传相同的文件时,该文件没有“类型”并且无法使用 Reader 读取。在 Windows 上上传扩展名为 .pem 的文件有什么不同,我该如何解决?
我下载文件的代码:
let element = document.createElement('a');
element.setAttribute('href', 'data:text/plain;charset=utf-8,' +
encodeURIComponent(data));
element.setAttribute('download', "PublicKey.pem");
element.style.display = 'none';
document.body.appendChild(element);
element.click();
我上传文件的代码:
const file = event.target.files[0]
let reader = new FileReader()
const textFile = "application/x-x509-ca-cert";
if (file.type.match(textFile)) {
reader.onload = function (event) {
self.setState({ privateFile: event.target.result });
}
}
reader.readAsText(file);
我的期望是读取文件“PublicKey.pem”,但现在我得到的文件没有类型,并且在 Windows 上无法读取 FileReader()。
【问题讨论】:
标签: javascript file encryption pem