地區測試取得正確文件,存檔名稱卻亂碼或不符預期。HTTP 200無法指出名稱在哪個階段改變。應分別記錄最終回應建議的名稱、網頁下載機制選定的名稱,以及本機實際存檔名稱。

本文適用於獲授權的網站QA與客戶下載體驗驗收,不代表已完成瀏覽器實測,也不保證各瀏覽器行為相同。使用團隊自有的小型無害檔案,不要使用客戶的私密匯出資料。

三張檢查卡比較回應檔名標籤、瀏覽器下載標籤與已儲存檔案標籤,最後一步以琥珀色標示差異

一、先定義檔名驗收條件

記錄預期文件身分、語言、基本檔名、副檔名,以及允許的本機調整。法文與英文文件可能原本就有不同檔名。先確認產品承諾在地化命名或統一ASCII名稱,不應以測試者偏好判定。

準備三個自有樣本:簡單ASCII檔名、包含非ASCII字元的在地化檔名,以及含空格的在地化檔名。每個樣本都有穩定內部ID及已知的小型內容。每個案例使用新的空白目的資料夾,避免既有下載造成同名後綴。

二、固定瀏覽器情境,再單獨變更路徑

  1. 記錄瀏覽器版本、作業系統、介面語言、網頁語言、帳號地區語言、下載偏好與目錄政策。
  2. 分別使用核准的基準路徑及一條代理路徑,維持等價的應用程式初始狀態。評估路徑時不要同時改變語言。
  3. 另外執行網頁語言對照,記錄實際選取的檔案ID,避免把不同地區資產誤認為同檔改名。
  4. 只執行事先約定的少量案例。差異需要調查,但單一配對不能直接證明因果。

98IP動態住宅IP產品頁可協助確認路徑對照使用的產品背景,選擇地區前仍須核對目前帳號的實際選項。代理路徑不會替你設定作業系統語言、執行網頁命名規則,也無法保證瀏覽器採用哪一種下載行為。查核已公布的連線設定時,可參考API設定文件。

三、擷取最終回應的命名建議

在瀏覽器網路工具找到真正回傳檔案的請求,保留去識別化的重新導向鏈,記錄最終狀態、媒體型別及原樣Content-Disposition值。重新導向回應的名字不一定屬於最終檔案回應。也要確認檔案身分:登入HTML被存成文件副檔名,是內容錯誤,不只是檔名問題。

Content-Disposition可以建議內嵌顯示或附件名稱。filename*支援編碼名稱,同時理解filename*與filename的用戶端通常優先採用前者。原始標頭與解讀名稱應並列保留,不要對整個標頭字串盲目百分比解碼,也不要默默修正含糊值。

最終回應沒有該標頭,就如實註記。不要從網址或下載清單倒推出不存在的標頭值,這些是不同層次的觀察。

四、確認網頁如何觸發下載

記錄一般連結、帶download屬性的連結,或先取得資料再建立blob的按鈕。檢查自有版本的實際元素及命名程式。blob流程可能在伺服器回應後由JavaScript重新選名,只查前段網路請求會漏掉這個決策。

download屬性不是對所有跨來源連結都有效的通用指令。標頭建議、受支援的連結行為、瀏覽器設定與檔案系統限制,都可能影響結果,不能把HTML中的名稱直接當作實際存檔名稱。

原生下載觀察與應用程式腳本能讀取的資訊也須分開。腳本讀不到某個回應標頭,不能單獨證明瀏覽器未收到它。請查核應用程式允許的標頭揭露方式,不要關閉瀏覽器防護來讓測試通過。

五、獨立驗證本機存檔結果

記錄使用者編輯前的初始建議名稱、是否出現儲存對話框,以及空白資料夾內實際保存的完整檔名。檢查時顯示副檔名,直接複製名稱資料,不要照截圖重打。產品若要求精確字串相符,外觀相同的名稱還應檢查碼位;視覺相同不一定是相同字串。

以已知內容或雜湊獨立核對小型樣本。名稱正確不代表位元組正確,內容正確也不代表在地化命名可用。意外收到執行檔時,不要為驗收而開啟。路徑安全發現應另開議題,與使用者檔名驗收分開處理。

六、依最早分歧分類

  • 最終回應建議已錯誤:以相同檔案ID檢查地區應用程式或遞送設定,先保留兩份原始回應再判定原因。
  • 回應正確但應用程式選名不同:檢查連結、blob命名分支與帳號語言。
  • 建議正確但本機名稱改變:檢查使用者編輯、既有同名檔、瀏覽器偏好,以及指定環境的檔案系統調整。
  • 命名證據相同但內容不同:建立內容遞送議題,不能只因檔名相符就通過。

例如空白資料夾符合條件,重用資料夾才出現後綴,應歸類為本機同名條件。若代理案例也改變帳號語言,對照便存在混雜,應固定語言重跑,再討論路徑責任。

常見問題與上線清單

每種瀏覽器都必須存成完全相同字串嗎?只有產品支援且經測試的標準如此要求時才是。應明列允許調整及瀏覽器、系統矩陣,不要用單一環境宣稱普遍相容。

命令列下載成功能驗收瀏覽器檔名嗎?不能。它能輔助檢查HTTP回應,但輸出命名規則與互動屬於另一條用戶端路徑。

  • 檔案ID、預期語言與命名條件已記錄。
  • 路徑及語言對照每次只變更一個預定因素。
  • 最終標頭、網頁選名與本機檔名分別有證據。
  • 內容身分與副檔名已獨立核對。
  • 各項例外載明瀏覽器、系統、原因證據及負責人。

上線前可在自有預備環境演練:移除命名標頭、變更blob名稱、預先建立同名檔案。確認報告能定位不同分歧,不會全部標為代理故障。這些是建議演練,並非已執行結果。限制請求量、維持正常安全設定,遮蔽簽名網址與憑證,只向授權審查者保留必要證據。