我遇到问题,允许用户从Sitecore媒体库中下载项目,具体而言。
我在页面上有一个媒体项目(xls,pdf等)的链接,当用户点击该页面时应该下载该文件。
这在我们的测试sitecore实例上工作正常,但是当我们在我们的实例上尝试它时,文件开始下载OK但似乎被截断了。 (两个实例都位于同一个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代理拒绝响应。 原因:块大小线太大线='‰u¯^%| \ x0c \ x04‡V- \x15ÿ\x00¾c*?Jã5] cW×o [R×5K>ˇûóÝÎÒ;} Y‰&« Q]4èQ¥ðE/ D'ÅW\x13®ïRn^¿Ì(¢ŠÔÄ(¢Š\ x00(¢Š\ x00(¢Š\ x00(¢¾...ý•?àœ¿\ x1bi \ x19'
Mystery 1 Solved - 它在测试网站上工作的原因是因为我没有通过代理服务器!
神秘2 - 为什么块大小太大!!!!?
皮特
答案 0 :(得分:2)
我要检查的第一件事是web.config文件中的<httpRuntime maxRequestLength="" />
元素/属性。您需要确保将“maxRequestLength”属性值设置为足够大的值,以适应您所服务的文件的大小。
除此之外,您是否自己生成响应标头(即在您的代码中)?例如,您是否明确设置了Content-Disposition标头和Content-Length标头?如果是这样,我建议验证您用于计算内容长度的方法是否准确。
最后,验证两个Sitecore实例之间的IIS配置是否相同。您使用的是IIS6,IIS7还是IIS7.5?
欢呼声, 亚当
答案 1 :(得分:0)
您是否在两个实例之间进行了web.config比较?
您是否在SDN论坛上询问过这个问题?
此问题听起来很熟悉 。我确信我以前见过它......你确定它会截断回报吗?或者是标题/数据中有16kb的垃圾?我想说这是我以前见过的问题......但不能肯定记得。脑细胞发麻,给我一些时间。