2009-05-01 81 views
2

是否可以讀取已使用文件輸入控件選擇的文件的內容?我希望做的事情如下:是否有可能攔截JavaScript中的<input type = file>文件?

<input type="file" id="fileInput" onblur="readFile(this)"/> 

<script language="javascript"> 
    function readFile(file) { 
    document.write(file); 
    } 
</script> 

是這樣的事情嗎?或者文件上傳只是將文件發送到服務器。

回答

2

它可能在Firefox,但它不是標準化的,所以它是不可移植的跨瀏覽器(例如,WebKit不支持它)。您最好的選擇可能是將文件上傳到服務器,然後使用XMLHTTPRequest再次下載。

+0

這是一個很好的建議,不幸的是,我需要能夠在客戶端完全運行。這個應用程序可能分佈在CD上。 – alumb 2009-05-01 01:27:52

+0

在這種情況下,除非您能保證您的用戶使用Firefox,否則您運氣不佳。 – 2009-05-01 01:30:05

0

在許多瀏覽器中,這可能是不可能的。如果我們使用用戶的憑據來授予仲裁javascript讀取文件系統中的任意文件的能力,會發生什麼?壞事。惡意JavaScript可以輕鬆地將文件數據發回服務器,悄悄地在後臺監聽所有文件。

我懷疑這是可能的,我強烈建議不要這樣做。

如果它只需要客戶端,爲什麼你使用的是Web應用程序呢?唯一可以顯示的文件是純文本,對此,有許多更簡單的查看內容的方法。

相關問題