1. 程式人生 > >Ajax Upload上傳圖片失敗的解決方法:

Ajax Upload上傳圖片失敗的解決方法:


       最近用Ajax Upload實現無重新整理上傳圖片,部署到本機IIS是可以正常上傳的,部署到雲伺服器後,
就總是報這個錯誤:伺服器沒有返回資料,可能伺服器忙,請稍候再試!這個問題困擾了我四五天!
方法1:按照經驗,我以為是Upload資料夾訪問的許可權不足,添加了Everyone使用者的讀寫許可權之後,重啟IIS之後,圖片還是上傳失敗!
方法2:找到對應的指令碼檔案:Areas\SNS\Themes\M1\Content\Scripts\AjaxUpload.js, 裡面有1000多行程式碼,嘗試修改了部分程式碼之後,我自動放棄了這種嘗試!
方法3:想聯絡雲伺服器的供應商客服,請求開通部分許可權,讓程式可以上傳圖片,但考慮到客服估計也不懂技術細節,後面也放棄了打電話進行諮詢
上週五沒解決,我當時也沒理會它,先把這個難題放一邊,去忙其他的專案,今天我用抓包的方式獲得了靈感,順藤摸瓜,終於找到了解決方案:

1:檢視部分上傳程式碼,


發現執行了這個網頁:http://localhost:8006/Upload/SNSUploadTmpImg.aspx,(我在Upload資料夾下面找了很久,並沒看到這個檔案,估計被系統隱藏起來了)

2: 為了確認執行了這個網頁,對上傳圖片進行抓包,最終確定:上傳過程確實訪問了這個網頁
3:開啟雲伺服器的瀏覽器,在位址列輸入:http://localhost:8006/Upload/SNSUploadTmpImg.aspx,
發現報錯了:處理程式“SNSUploadTmpImg”在其模組列表中有一個錯誤模組“ManagedPipelineHandler

 

4:將應用程式池改為:ASP.NET v4.0,將管道模式改為:Integrated(整合)


問題解決了!微笑