簡體   English   中英

如何使用Javascript和HTML 5按名稱加載本地文本文件的內容?

[英]How to load the contents of a local text file by name using Javascript and HTML 5?

在Chrome中工作,正在加載本地 html或JS文件。

我發現了許多示例,這些示例說明如何加載使用“選擇文件”輸入選擇的文件。

但是,在不使用“選擇文件”輸入的情況下,並沒有給出給定文件名的方法。

選擇文件輸入返回一個File對象。

如何在沒有選擇文件輸入的情況下創建文件對象?

File API中

new File(
  Array parts,
  String filename, 
  BlobPropertyBag properties
);

但沒有弄清楚零件和屬性是什么。

編輯:用例:

我在測試套件中生成了代碼覆蓋率結果。 它存儲為JSON(易於閱讀),但是我需要將其與源代碼一起顯示。

因此,該功能是加載源代碼和JSON數據,並使用HTML和Javascript將它們一起呈現在網頁上。

該文件將通過瀏覽器打開並保存在本地計算機上。 沒有服務器。

瀏覽器無法在沒有特殊擴展名或其他欺騙的情況下從文件系統中按名稱加載任意文件。 這是一項安全策略,可防止隨機網站在瀏覽Internet時從硬盤讀取文件。

如果您打算做一些特殊的事情(例如要編寫chrome應用程序),則可以訪問一些不錯的API來訪問文件系統: https : //developer.chrome.com/apps/fileSystem

File構造函數不會從硬盤驅動器讀取文件,但評估者會創建一個虛擬文件,請考慮以下事項:

var file = new File(["some", "content"], "/tmp/my-name.txt");
var reader = new FileReader();
reader.onload = function() {
  console.log(reader.result); // somecontent
};

沒有文件將被讀取或存儲在客戶端計算機上。

如果您正在談論在創建文件,那么您應該看看fs

出於安全原因,所有瀏覽器均不支持文件字段中的預定義值,因此答案是“不”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM