Posted @ 7:02 pm October 21st, 2007
很多情况下, IE的设置会自动将一些类型的文件在browser中直接打开. 最近的项目中遇到了这个问题, IE直接把.zip文件打开, 赤裸裸地呈现给用户.
03年的时候在学校工作室曾经用过一段代码:
onClick="javascript:return openAlertHowToDL();"
但是这段代码在封装好的ComponentArt控件里面不work. 可能ComponenetArt做了特殊处理吧, 我转用链接到另外一个页面再重定向到.zip文件的方式, 但是这样.zip还是会被浏览器直接打开. 发现通过修改Append一个ResponsHeader可以解决这个问题, 代码记录如下.其中"attachment;filename=" + _desFileName 部分的_desFileName可以改用短名称,这样就不会出现.zip.zip[1]这样奇怪的IE缓存命名了.
Response.Clear();
Response.Buffer = true;
EnableViewState = false;Response.AppendHeader("Content-Disposition", "attachment;filename=" + _desFileName);
Response.WriteFile(_relativePath + _desFileName);
Response.Flush();Response.End();
Response.Close();
Leave a Reply




嗯~ 不错~呵呵......这个方法能解决什么问题呢????有点迷惘......嘿嘿.....俺是菜鸟一只~