2011-03-18 108 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