2011-03-18 74 views
1

我遇到問題,允許用戶從Sitecore媒體庫中下載項目,具體來說,從sitecore媒體庫下載項目

我有一個頁面上的媒體項目(xls,pdf等)的鏈接,當用戶點擊頁面時應該下載文件。

這對我們的測試sitecore實例正常工作,但是當我們在我們的實例上嘗試它時,文件開始下載確定,但似乎被截斷。 (這兩個實例位於同一個IIS服務器上)

使用Fiddler,我可以看到下載響應正文在784kb被截斷。

HTTP/1.1 200 OK 
Cache-Control: public, max-age=604800 
Content-Type: application/vnd.ms-excel 
Expires: Fri, 25 Mar 2011 14:12:48 GMT 
Last-Modified: Fri, 18 Mar 2011 11:17:45 GMT 
ETag: 050b2f8a408b47c49fefbe28b5ec9661 
Server: Microsoft-IIS/6.0 
X-Powered-By: ASP.NET; Sitecore CMS 
X-Powered-By: ASP.NET 
Content-Disposition: attachment; filename="Filename.xls" 
Date: Fri, 18 Mar 2011 14:12:48 GMT 
Content-Length: 804795 

(該文件實際上是5019136kb!)

,如果任何機構可以擺脫任何光線,我會感激不盡!

你絕望了!

皮特

--UPDATE--

我想我可能會越來越接近這個原因。

通過我得到從服務器返回

通過WatchGuard的HTTP代理拒絕響應響應的仔細檢查。 原因:chunk-size line too large line ='¯¯^%| \ x0c \ x04‡V- \x15ÿ\x00¾c* J5] cW×o [R×5K>ÝÎÎ;;} Y‰&« Q]4èQ¥ðE/ D'Åw \x13®ï¢¿ÌÌ(¢ŠÔÄ(¢Š×x00(¢Š×x00(¢x00(¢¾...â¢â“x'bi\\ x19'

謎1解決 - 這是工作在測試現場的原因是因爲我沒有通過代理服務器去

謎2 - !?爲什麼是塊的大小太大!!!!

皮特

回答

2

我會檢查的第一件事是<httpRuntime maxRequestLength="" /> web.config文件中的元素/屬性。您需要確保將'maxRequestLength'屬性值設置爲足夠大的值,以適應您所服務文件的大小。

除此之外,您是否自己生成響應頭(即在您的代碼中)?例如,你是否明確設置了Content-Disposition標題和Content-Length標題?如果是這樣,我會建議驗證您用來計算內容長度的方法是否準確。

最後,驗證兩個Sitecore實例之間的IIS配置是否相同。你使用IIS6,IIS7或IIS7.5嗎?

歡呼聲, 亞當

+0

我很確定maxRequest的長度足夠大,但週一會仔細檢查,IIS配置是相同的(兩個實例在相同的IIS下運行)。我沒有對響應頭做任何事情,應該只是提供文件的sitecore。感謝您的幫助 - 我將盡快查看maxRequestLength! – 2011-03-19 19:50:11

0

你是否做了兩個實例之間的web.config文件進行比較?

您是否在SDN論壇上詢問過這個問題?

這個問題聽起來所以很熟悉。我確信我之前看到過......你確定它正在縮小回報嗎?還是在標題/數據中有16kb的垃圾?我想說這是我之前見過的問題......但不能確定。腦細胞刺痛,給我一些時間。

+0

嗨,喲 - 比較兩個web.configs,兩個完全相同。我會試着問SDN,看看內容是「真實的」還是垃圾,這是一個很好的提示,不得不等待直到我現在星期一回到辦公室。謝謝你的建議! – 2011-03-19 19:45:56

相關問題