![](/img/trans.png)
[英]How to recursively read local files and directories in web browser using File System Access API
[英]Read ANSI files in Web file-system-access API
我正在尝试使用文件系统访问 API 获取文件,并且使用以下代码效果很好:
function Process_Files(files) {
[].map.call(files, async function (file, i) {
if (isDataFile(file.name)) {
let fileText = await file.text();
let filePath = await file.webkitRelativePath;
ProcessFileContents(await fileText,await filePath);
}
})
}
function DirectoryChose(event) {
let files;
event.stopPropagation();
event.preventDefault();
if (event.type === "change") {
files = event.target.files;
}
if (files) {
Process_Files(files)
}
}
dropArea.addEventListener("change", DirectoryChose);
问题是当我们有一个 ANSI 编码的文件时,像 Ö、Ü 和 Ä 这样的德语字符会变成 �,而它与 UTF-8 编码的文件完美搭配。
我无论如何都找不到使用 ANSI 代码中的file.text()
读取文件
感谢帮助
您需要使用正确编码的FileReader()
API。 有关详细信息,请参阅MDN 文档。 例如,您可以读取如下数据:
// fileOrBlob is a File or a Blob :-)
const fileReader = new FileReader();
fileReader.readAsText(fileOrBlob, 'windows-1252');
唯一需要注意的是,您需要事先知道编码。 如果您不指定编码,则假定为 UTF-8。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.