2017-07-19 112 views
-1

我在查看頁面中有一個按鈕。在點擊按鈕時,一個函數被調用。在那個函數中,調用另一個函數,並且文件的位置作爲參數。在第二個函數中,我需要讀取傳入位置中指定的文件,並在控制檯中顯示內容。我已經嘗試的是低於如何使用javascript讀取本地文本文件

ReadFile : function(){ 
     this.ReadTextFile("C:\Users\RFRANCIS\Downloads\Inv00008W.txt"); 
    }, 
ReadTextFile: function(file) 
    { 
     var rawFile = new XMLHttpRequest(); 
     rawFile.open("GET", file, false); 
     rawFile.onreadystatechange = function() 
     { 
      if(rawFile.readyState === 4) 
      { 
       if(rawFile.status === 200 || rawFile.status == 0) 
       { 
        var allText = rawFile.responseText; 
        alert(allText); 
       } 
      } 
     } 
     rawFile.send(null); 

    } 

但我越來越Access拒絕error.Please找我解決這個問題或建議另一種method.I測試這在IE11。

+1

該路徑正確寫入,但不會轉義路徑中項目的第一個字母。 – Teemu

+0

this.ReadTextFile(「file:/// C:\ Users \ RFRANCIS \ Downloads \ Inv00008W.txt」); 是否這樣? –

+0

url路徑中的「分隔符」不是反斜槓......反斜槓在JS中是一個逃避字符,它逃避了它旁邊的字符。 – Teemu

回答

0

爲了你需要這可能看起來更像file:///c:/比你有什麼文件的有效URL,但是你在這裏有幾個重疊的問題來訪問你的本地驅動器:

  1. 爲本地文件的URL必須以文件開頭:///
  2. 您需要了解Javascript字符串文字中的轉義字符和斜槓(您需要使用特殊語法在JavaScript中表示斜線)
  3. 當您修復這些問題時,您仍然可以獲得CORS安全性例外,因爲(至少chrome)不會將本地文件視爲一個dom艾因。 (要解決此問題,您需要專門設置Chrome或在本地計算機上使用適當的本地主機http服務器。
+0

@Teemu thx,有趣 - 我對sapui功能不是很強 – Elemental

相關問題