首頁  >  文章  >  web前端  >  JavaScript 可以在 Safari 和 Chrome 中讀取客戶端本機檔案內容嗎?

JavaScript 可以在 Safari 和 Chrome 中讀取客戶端本機檔案內容嗎?

Barbara Streisand
Barbara Streisand原創
2024-11-26 07:11:10355瀏覽

Can JavaScript Read Local File Contents Client-Side in Safari and Chrome?

在跨瀏覽器的JavaScript 中讀取客戶端檔案內容

努力尋找一種基於腳本的解決方案,用於從使用瀏覽器的客戶端計算機,為Firefox 和Internet Explorer 開發了解決方案。然而,將此功能擴展到其他瀏覽器會引發一個問題:

我們可以在 Safari 和 Chrome 中存取客戶端文件內容嗎?

本機檔案API 方法

自從最初的答案以來,檔案API 已經成為大多數現代瀏覽器支援的標準化方法,包括IE 10 及更高版本。此 API 為非同步檔案讀取、多檔案處理和自適應文字編碼解碼提供了強大的支援。

要使用檔案API,可以採用以下步驟:

var file = document.getElementById("fileForUpload").files[0];
if (file) {
    var reader = new FileReader();
    reader.readAsText(file, "UTF-8");
    reader.onload = function (evt) {
        document.getElementById("fileContents").innerHTML = evt.target.result;
    }
    reader.onerror = function (evt) {
        document.getElementById("fileContents").innerHTML = "error reading file";
    }
}

基於WebKit 的瀏覽器(Safari、Chrome)

不幸的是,在最初回覆時,WebKit瀏覽器(包括Safari 和Chrome)缺乏讀取文件內容的本機支援。不過,也提出了建議:

  • 向 WebKit 專案提交補丁。
  • 建議將 Mozilla API 包含在 HTML 5 中。

從那時起,情況沒有重大更新。 WebKit 瀏覽器仍然僅透過 File 物件提供對檔案名稱和大小的訪問,限制了直接從這些瀏覽器讀取檔案內容的能力。

替代注意事項

  • 探討使用瀏覽器擴充的可行性。
  • 實作伺服器端 API 來處理檔案閱讀。
  • 考慮使用拖放等替代技術來處理文件。

以上是JavaScript 可以在 Safari 和 Chrome 中讀取客戶端本機檔案內容嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn