【JavaScript】HTML5 纯JS利用 FileReader 打开读取和保存txt文本文件
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
JS作为网页客户端最常用的语言之一,其在处理本地文件方面有着非常重要的作用。本文将对JS打开本地文件进行多方面的分析和阐述。 一、原生Javascript打开本地文件在JS中,我们可以通过 input 元素的 type 属性为 file 来创建上传文件的表单组件。通过该组件,我们可以让用户选择本地文件并将其上传至服务器。示例代码如下: <input type="file" id="file">
// JS代码
const input = document.getElementById('file');
input.addEventListener('change', (e) => {
const file = e.target.files[0];
console.log(file);
});通过对 input 组件的监听,我们可以获取上传的文件,从而进一步处理文件内容。例如,我们可以利用 FileReader 对象来读取文件内容并将其展示在页面上。代码如下: const input = document.getElementById('file');
input.addEventListener('change', (e) => {
const file = e.target.files[0];
const reader = new FileReader();
reader.readAsText(file);
reader.addEventListener('load', (e) => {
const result = e.target.result;
console.log(result);
});
});通过上述代码,我们可以通过 input 元素上传本地文件并读取其中的文本内容。 二、使用第三方库打开本地文件在处理本地文件过程中,我们可以利用一些成熟的第三方库来实现更为复杂的操作。例如,使用 FileSaver.js 库可以将数据以某种格式保存在本地文件中。示例代码如下: import { saveAs } from 'file-saver';
const data = new Blob(['hello, world!'], { type: 'text/plain;charset=utf-8' });
saveAs(data, 'hello.txt');通过上述代码,库会弹出一个保存文件的框,让用户输入保存的文件名和文件格式,然后将数据保存到本地文件中。 三、使用Electron打开本地文件在处理本地文件的桌面应用程序中,我们可以使用 Electron 来实现打开和处理本地文件的功能。示例代码如下: const { dialog } = require('electron').remote;
dialog.showOpenDialog((fileNames) => {
if (fileNames === undefined) {
console.log("No file selected");
return;
}
let fileName = fileNames[0];
fs.readFile(fileName, 'utf-8', (err, data) => {
if (err) {
alert("An error ocurred reading the file :" + err.message);
return;
}
console.log(data);
});
});通过上述代码,我们可以弹出一个选择文件的窗口,选择本地文件,并且读取其中的文本内容。 四、在浏览器端预览本地文件内容为了能够在页面中显示本地文件的内容,我们可以使用一些前端组件来实现。例如,使用 PDF.js 可以在页面中渲染PDF文件;使用 SheetJS 可以解析Excel文件并将其转换为JSON格式。示例代码如下: <!-- 在页面中引入pdf.js库 -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdf.js/2.6.347/pdf.min.js"></script>
<!-- 在页面中引入SheetJS库 -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.16.9/xlsx.full.min.js"></script>
<!-- 在页面中引入PDF和Excel文件并渲染 -->
<div id="pdf-container"></div>
<div id="excel-container"></div>
<script>
// 渲染PDF文件
const pdfContainer = document.getElementById('pdf-container');
const loadingTask = pdfjsLib.getDocument('/path/to/pdf');
loadingTask.promise.then(function(pdf) {
// pdf.js 渲染PDF文件到指定的容器中
pdf.getPage(1).then(function(page) {
const viewport = page.getViewport({ scale: 1.0 });
const canvas = document.createElement('canvas');
const context = canvas.getContext('2d');
canvas.height = viewport.height;
canvas.width = viewport.width;
pdfContainer.appendChild(canvas);
page.render({
canvasContext: context,
viewport: viewport
});
});
});
// 解析Excel文件并渲染表格
const excelContainer = document.getElementById('excel-container');
const workbook = XLSX.readFile('/path/to/excel');
const sheet_name_list = workbook.SheetNames;
const json = XLSX.utils.sheet_to_json(workbook.Sheets[sheet_name_list[0]]);
const table = document.createElement('table');
table.border = 1;
excelContainer.appendChild(table);
json.forEach((row) => {
const tr = document.createElement('tr');
table.appendChild(tr);
Object.keys(row).forEach((key) => {
const td = document.createElement('td');
td.innerText = row[key];
tr.appendChild(td);
});
});
</script>上述代码展示了如何使用 PDF.js 渲染页面中的 PDF 文件,并使用 SheetJS 解析 Excel 文件,并将其呈现为 HTML 表格的形式。 在服务器端,我们可以使用 Node.js 来处理本地文件。例如,使用 fs 模块,我们可以轻松地读取、写入、重命名等本地文件。示例代码如下: 通过上述代码,我们可以轻松地操作本地文件,包括读取、写入和重命名等功能。 本文对Javascript打开本地文件进行详细的阐述,从原生Javascript开始,逐步介绍了使用第三方库、Electron、浏览器端预览以及Node.js等多方面的内容。通过本文的学习,相信读者对JS处理本地文件的方式有了更为清晰的认识。 该文章在 2023/11/28 23:35:19 编辑过 |
关键字查询
相关文章
正在查询... |