公交车上荫蒂添的好舒服的电影-公用玩物(np双xing总受)-公用小荡货芊芊-公与妇仑乱hd-攻把受做哭边走边肉楼梯play-古装一级淫片a免费播放口

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

【JavaScript】HTML5 純JS利用 FileReader 打開讀取和保存txt文本文件

admin
2023年11月28日 23:35 本文熱度 2347

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打開本地文件

在服務器端,我們可以使用 Node.js 來處理本地文件。例如,使用 fs 模塊,我們可以輕松地讀取、寫入、重命名等本地文件。示例代碼如下:

const fs = require('fs');
// 讀取本地文件
fs.readFile('/path/to/file', 'utf-8', (err, data) => {
  if (err) throw err;
  console.log(data);
});
// 寫入本地文件
fs.writeFile('/path/to/file', 'Hello, world!', (err) => {
  if (err) throw err;
  console.log('The file has been saved!');
});
// 重命名本地文件
fs.rename('/path/to/file', '/path/to/newfile', (err) => {
  if (err) throw err;
  console.log('The file has been renamed!');
});

通過上述代碼,我們可以輕松地操作本地文件,包括讀取、寫入和重命名等功能。

結語

本文對Javascript打開本地文件進行詳細的闡述,從原生Javascript開始,逐步介紹了使用第三方庫、Electron、瀏覽器端預覽以及Node.js等多方面的內容。通過本文的學習,相信讀者對JS處理本地文件的方式有了更為清晰的認識。



該文章在 2023/11/28 23:35:19 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 国产成人精品一区二三区在线观 | 精品99一区二区三区 | 国色天香第01集在线播放 | 高清精品乱伦国产 | 国产高潮流白浆喷水在线观看 | heyzo无码国产精品蜜臀av | a片在线观看免费视频不卡 a片在线观看跳转不卡 | 国产不卡视频播放二区 | 18禁男女午夜无遮挡网站免费 | 国产精品无码日韩国 | 成人综合国内精品久久久久久影院 | 国产一区二区丝袜在线播放 | 国产一区不卡 | 国产午夜草莓视频在线观看 | 国产精品偷伦视频观看免费 | 国产一区二区在线观看入口 | 国产在线视频玛雅视频 | 99精品久久久久久人妻精品 | 69国产精品成人在线播放 | 3d动漫精品啪啪一区二区中 | 国产精品日产欧美久久久 | 国产精品天干天干在线观看 | 国产一区二区三区在线影院 | 精品国产你懂的在线看 | av中文字幕1| 国产99对白在线播放 | 国产制服丝袜av | 国产欧美日本精品 | 国产成人综合亚洲欧美 | 国产爆乳尤妮丝无码视频在线 | 69国产精品成人无码视频色 | 精品国产一区二区三区四区vr | 成年午夜福利片 | 99ri精品国产亚洲 | 国产精品熟女一区二区三区 | 国产成人av一区二区三区不卡 | 加勒比一本大道香蕉大在线 | 国产福利视频一区 | 国产精品一区二区制服丝袜 | 国产精品午夜视频 | 国产三级在线视频播放线 |