簡體   English   中英

是否可以使用FileReader讀取已經存在的文件?

[英]Is it possible to read an already existing file using FileReader?

我正在嘗試讀取存儲在(主機)計算機上的文本文件的內容。 當我遇到Javascript的FileReader我認為它是完成這項工作的理想工具。 然而每一個 例子 問題, 看到 網上展示了如何使用它來閱讀正在從用戶的計算機上傳的文件(因此他們可以使用事件目標向他們要讀的文件點), 或者 他們 使用 AJAX (以及, 至少 XMLHttpRequest的 對象 )來讀取自己的文件。

那么可以使用FileReader從本地(到主機)文件進行讀取嗎? 當我研究這個問題時,這使我想知道我是否會犯錯,但這是通過AJAX使用網頁上文本文件信息的唯一方法嗎? 這似乎是錯誤的,似乎必須有一種更簡單的方法。

FileReader需要一個Blob 這是代表內存中的二進制文件的對象。

這個Blob的來源並不重要,但是您需要讓它具有瀏覽器分配的內存,以便FileReader可以訪問它。 FileReader不會自行下載任何內容。

因此,如果您正在談論存儲在服務器上的文件,則瀏覽器必須將文件從那里下載到計算機的內存中。 至於如何實現,只要從服務器下載數據並且可以訪問數據,至少有很多方法可以使用AJAX ,至少要用它來構建Blob,然后FileReader才會高興。

如果您正在談論存儲在用戶磁盤上的文件,則需要授予瀏覽器訪問權限並將其加載到其內存中,通常使用<input type="file">元素來完成此操作,因為安全性原因,否則瀏覽器不會授予對用戶磁盤的訪問權限。

暫無
暫無

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

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