2013-03-25 119 views
1

如何從當前目錄使用沒有jQuery的javascript讀取文本文件(text1.txt)。我試了下面的代碼。Javascript從當前目錄中讀取文本文件

var file = "text1.txt"; 
var reader = new FileReader(); 
var result = reader.readAsText(file); 
console.log(result); 
+1

發生了什麼? – Thilo 2013-03-25 12:45:14

+2

你是什麼意思到當前目錄 – 2013-03-25 12:45:54

+1

用戶必須首先「上傳」該文件的頁面,然後才能選擇它。未經用戶許可,您不能訪問文件。或者是你的服務器上的文件?那麼你需要Ajax,而不是FileReader。 – JJJ 2013-03-25 12:47:05

回答

6

FileReader API通常用於讀取通過<input type="file">選擇的文件。它無法讀取任意文件。 readAsText method預計接收Blob或File對象,而不是包含文件名的字符串。

要閱讀屬於HTML文檔的兄弟文件,請使用XMLHttpRequest。如果通過HTTP(S)加載文檔,這將可靠地工作。如果您使用的是本地HTML文檔(通過file: URI),那麼許多瀏覽器中的安全限制將阻止其運行(並且您應該運行本地Web服務器)。

0

http://www.html5rocks.com/en/tutorials/file/dndfiles/解釋如何去做。

它必須是在HTML5

+0

這對OP想要達到什麼沒有幫助。請參閱他們對以下問題的評論:*「不是由用戶上傳的文件,而是文本文件以及我的html文件和JavaScript文件在通用文件目錄中的格式。」* – Quentin 2013-03-25 12:53:47

+0

請[僅限鏈接回答](http:///meta.stackoverflow.com/tags/link-only-answers/info) – Quentin 2013-03-25 12:54:08

0

請區分讀取文件2種:

  • 讀「互聯網」 - 用XMLHttpRequest讀取任何類型的文件
  • 閱讀「從客戶端」的 - 使用FileReader或<input type="file">