使用JavaScript 或jQuery,我們可以檢查文件是否存在並檢索有關文件的元數據,例如文件的大小、內容類型、上次修改日期等,而無需檢索實際文件。在這種情況下使用 HTTP HEAD 請求。 HTTP HEAD 請求是一種 HTTP 請求,它要求伺服器傳回指定資源的 HTTP 標頭,而不回傳實際資源本身。
可以使用多種方法傳送 HTTP HEAD 請求,但最受歡迎的方法是使用 $.ajax() 方法和 XMLHttpRequest 物件。使用者可以使用這些方法中的任何一種將請求類型定義為“HEAD”,並且還可以包含回呼函數來處理回應。如果伺服器回應中檔案存在,則將呼叫回調函數。如果檔案不存在,則不呼叫回調函數,並拋出異常。
如果我們發現提到的文件存在,我們可以採取任何行動,例如顯示實際文件或顯示由文件元資料組成的訊息等。如果提到的文件不存在,我們可以顯示錯誤訊息存在。它將提高我們沒有嘗試獲取實際大檔案的效能;而不是我們檢查它的狀態。
要使用 jQuery 中的 $.ajax() 方法檢查檔案是否存在,我們可以使用下列步驟 -
建立一個包含類型、「url」、「成功」和「錯誤」選項的物件。 type 選項應設定為“HEAD”,“url”選項應設定為我們要檢查的檔案的URL,“success”和“error”選項應為回呼函數,用於在以下情況下處理回應:請求分別是成功或失敗。
呼叫「$.ajax()」方法並傳入我們在步驟 1 中建立的物件作為參數。
在「成功」回呼函數中,如果檔案存在,我們可以採取任何所需的操作。例如,我們可以向使用者顯示檔案或執行其他操作。
在「錯誤」回呼函數中,如果檔案不存在,我們可以採取任何所需的操作。例如,我們可以顯示錯誤訊息或將使用者重新導向到不同的頁面
$.ajax({ url: url, type: 'HEAD', success: function () { // The mentioned file exist! }, error: function () { // The mentioned file does not exist! }, })
語法顯示 type 屬性設定為 HEAD 以指定我們正在向伺服器發送 HEAD 請求。 url 屬性設定為我們想要向其發送請求的伺服器端腳本或應用程式的 URL。
在這個例子中,我們使用ajax方法檢查提到的檔案是否存在。我們使用了jQuery的ajax函式庫。將輸入欄位放入不同的檔案路徑中以檢查它們是否存在。如果文件存在,成功函數會在網頁上顯示「提到的文件存在!」訊息,如果文件不存在,則錯誤函數會在網頁上顯示「提到的文件不存在!」。
<html> <head> <script src ="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script> </head> <body> <h2>Checking if Mentioned <i>File Exists or not</i> using JavaScript/jQuery</h2> <h4>Enter file path:</h4> <input id = "file_path" name = "file_path" /> <button onclick="checkFile()">Check File</button> <div id = "root" style = "padding: 10px; background: #b8f0ea"></div> <script> let root = document.getElementById('root') let file_path = document.getElementById('file_path') function checkFile() { $.ajax({ url: file_path.value, type: 'HEAD', success: function () { root.innerHTML = 'The mentioned file exist!' }, error: function () { root.innerHTML = 'The mentioned file does not exist!' }, }) } </script> </body> </html>
要使用 JavaScript 中的「XMLHttpRequest」物件來檢查檔案是否存在,我們可以使用下列步驟 -
建立一個新的「XMLHttpRequest」物件。
使用「XMLHttpRequest」物件的「open()」方法指定我們要檢查的檔案的 URL,並將請求方法設為「HEAD」。
使用「XMLHttpRequest」物件的「send()」方法傳送請求。
檢查「XMLHttpRequest」物件的「status」屬性以查看該檔案是否存在。如果'status'屬性為200,則檔案存在;如果「status」屬性為 404,則該檔案不存在。
var http = new XMLHttpRequest() http.open('HEAD', url, false) http.send() if (http.status === 200) { //This file exist! } else { //This file does not exist! }
在上面的語法中,我們使用了 XMLHttpRequest(),並且根據狀態程式碼,我們可以編寫檔案是否存在的程式碼。
在此範例中,我們使用 XMLHttpRequest() 方法檢查所提及的檔案是否存在。將輸入欄位放入不同的檔案路徑中以檢查它們是否存在。如果檔案存在,則狀態碼將為 200,並且我們將顯示「此檔案存在!」訊息,如果檔案不存在,則錯誤函數會在網路上顯示「此檔案不存在!」頁面。
<html> <body> <h2>Checking If Mentioned File Exists or not using JavaScript/ jQuery</h2> <h4>Enter file path:</h4> <input id = "file_path" name = "file_path" /> <button onclick = "checkFile()">Check File</button> <div id = "root" style = "padding: 10px; background: #f0ecb8"></div> <script> let root = document.getElementById('root') let file_path = document.getElementById('file_path') function checkFile() { var http = new XMLHttpRequest() http.open('HEAD', file_path.value, false) http.send() if (http.status === 200) { root.innerHTML = 'This file exist!' } else { root.innerHTML = 'This file does not exist!' } } </script> </body> </html>
檢查提到的檔案是否存在是使用大數據檔案的一個好習慣,JavaScript 和 jQuery 讓我們有能力檢查它。
以上是如何使用 JavaScript/jQuery 檢查提到的檔案是否存在?的詳細內容。更多資訊請關注PHP中文網其他相關文章!