最近幾個月我在我的PHP應用程序中一直使用Uploadify,我一直在試圖追蹤一個難以捉摸的bug。當發生致命錯誤時,我會收到電子郵件,併爲我提供了大量細節。我收到了幾十個。然而,我沒有能夠自己重現這個問題。一些用戶(如我)沒有遇到任何問題,而其他用戶則可以。使用Uploadify時,爲什麼某些POST數據會丟失?
在我詳細說明問題之前,請看下面的流程。
- 用戶訪問我正在使用的CMS中的頁面編輯屏幕。
- 頁面的記錄ID作爲隱藏值放入表單中。
- 用戶單擊Uploadify瀏覽按鈕並選擇一個文件(只允許單個文件選擇)。
- 用戶點擊我的表單提交按鈕。
- jQuery攔截表單提交動作,觸發Uploadify開始上傳,併爲提交動作返回false(手動取消表單提交事件以便Uploadify可以接管)。
- Uploadify上傳到自定義流程腳本。
- Uploadify完成上傳並觸發Javascript完成回調。
- Javascript回調調用$('#myForm')。submit()提交表單。
現在,這是應該發生的。我收到了100%的上傳凍結報告以及顯示「I/O錯誤」的其他報告。
發生了什麼事情,表單正在提交完成回調,但表單中存在的一些帖子參數根本不在帖子數據中。我之前說過的頁面的id是作爲隱藏字段添加到表單中的,在發佈數據($ _POST)中根本不存在 - $ _POST數組中沒有用於'id'的項目。奇怪的是,發佈數據DOES包含一些字段的值。例如,我有一個名爲「name」的文本輸入用於記錄名稱,並且它顯示在發佈數據中。
以下是我收集:
- 這已經發生在Mac OSX 10.5和10.6,Windows XP和Windows 7的,我可以張貼詳細的用戶代理字符串是否有幫助。
- 用戶必須使用Flash 10.0.12或更高版本。我們已經完成了,所以如果他們有< 10.0.12,表單會恢復爲使用正常的「文件」字段。
有沒有人有任何想法可能是什麼原因?
+1因爲我在Uploadify中遇到了同樣的問題。客戶報告錯誤,特別是圖像上傳返回I/O錯誤或凍結。無法在開發過程中重現錯誤 - 絕對不能與文件大小/連接相關。 – Jeriko 2010-04-26 12:48:13