我打算在本地創建一個應用程序。我需要一個javascript代碼來呈現我使用html文件上傳輸入框從我的系統中選擇的文件的內容。提到了下面的鏈接,但 http://www.alecjacobson.com/weblog/?p=1645其中的代碼是不是其他的瀏覽器兼容,如何使用java腳本在瀏覽器中顯示本地文件的內容(代碼與所有瀏覽器兼容)?
由於提前
我打算在本地創建一個應用程序。我需要一個javascript代碼來呈現我使用html文件上傳輸入框從我的系統中選擇的文件的內容。提到了下面的鏈接,但 http://www.alecjacobson.com/weblog/?p=1645其中的代碼是不是其他的瀏覽器兼容,如何使用java腳本在瀏覽器中顯示本地文件的內容(代碼與所有瀏覽器兼容)?
由於提前
出於安全考慮,您不能打開從瀏覽器中的文件。你實際上可以做的是將其上傳到服務器,然後將其寫回到頁面。 要上傳文件,我建議你uploadify或jquery上傳。
不客氣。
如果你不關心的跨瀏覽支持,則:
<input id="file" type="file" multiple="" onchange="startRead()">
<pre><code id="output"></code></pre>
function startRead() {
//obtain input element through DOM
var file = document.getElementById('file').files[0];
if (file) {
getAsText(file);
}
}
function getAsText(readFile) {
var reader;
try {
reader = new FileReader();
} catch (e) {
document.getElementById('output').innerHTML = "Error: seems File API is not supported on your browser";
return;
}
// Read file into memory as UTF-8
reader.readAsText(readFile, "UTF-8");
// handle success and errors
reader.onload = loaded;
reader.onerror = errorHandler;
}
function loaded(evt) {
// Obtain the read file data
var fileString = evt.target.result;
document.getElementById('output').innerHTML = fileString;
}
function errorHandler(evt) {
if (evt.target.error.code == evt.target.error.NOT_READABLE_ERR) {
// The file could not be read
document.getElementById('output').innerHTML = "Error reading file..."
}
}
我們正在開發各種基於Web的圖形用戶界面編輯器。這個問題已經成爲很長一段時間的問題。
據我所知,您提到的網站中的方法是唯一的方法。我們正在使用HTML5文件系統。
在此之前,我們一直在使用各種閃存模塊,本地Web服務器,Dropbox的,所考慮的......
我不認爲有這種截至目前何潔跨瀏覽器的解決方案。 – techfoobar
@aSanthosh:我認爲IE 10和最新的safari支持File API。該鏈接表示它已經在Chrome和Firefox中支持,所以這應該與所有瀏覽器兼容。 – karthick