求助..net下载文件问题!

Polti 2013-01-24 11:33:15
<asp:DataList ID="DataList1" runat="server"
DataSourceID="LinqDataSource1">
<HeaderTemplate>
1-2月刊
</HeaderTemplate>
<ItemTemplate>
<a href="<%#Eval("FilePath") %>">
<asp:Label ID="Label1" runat="server" Text="Label"><%#Eval("Name") %> </asp:Label></a>
</ItemTemplate>
</asp:DataList>
这个是数据绑定控件里的下载功能: <a href="<%#Eval("FilePath") %>">这个里边的参数是数据库存储的相对路径,这样写把数据库所有的文件绑定到datalist里点击超链接就可以下载,但是现在这个下载好像不是很稳定,有时候不下载,直接就跳转到一个乱码的界面,求助,该怎么做,才能使直接下载不出错,麻烦各位大侠,我想实现的效果是,点击文件名直接下载,不要通过按钮什么的,或者通过其他什么东西,如果有哪位高手列出代码,麻烦请详细一些,前台后台都写上,拜托了!通过按钮事件的那种实现不了的。
...全文
111 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
jdxx 2013-01-25
  • 打赏
  • 举报
回复
这种方式很奇怪啊,为什么不用LinkButton? <ItemTemplate> <asp:LinkButton ID="btn_download" runat="server" CommandArgument='<%# Eval("dl_id") %>' CommandName="download"></asp:LinkButton> </ItemTemplate> c#: public static void DowndoadFile(string _originname, string _filename) { string _fullPathName = AppSetting.Global_UploadPath + _filename; string _physicName = HttpContext.Current.Server.MapPath(_fullPathName); FileInfo fi = new FileInfo(_physicName); if (fi.Exists) { HttpContext.Current.Response.Clear(); HttpContext.Current.Response.ClearHeaders(); HttpContext.Current.Response.ContentType = MimeType(_physicName); HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpContext.Current.Server.UrlEncode(_originname)); HttpContext.Current.Response.AddHeader("Content-Length", fi.Length.ToString()); HttpContext.Current.Response.TransmitFile(_physicName); HttpContext.Current.Response.End(); } }
宝_爸 2013-01-25
  • 打赏
  • 举报
回复
"但是现在这个下载好像不是很稳定,有时候不下载,直接就跳转到一个乱码的界面" 用Chrome看看链接的内容是什么。直接贴到浏览器中试一试。另外如果 文件是特殊扩展名的话, 需要在IIS中设置MIME type.为二进制application/octet-stream Configure MIME Types (IIS 6.0) http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/cd72c0dc-c5b8-42e4-96c2-b3c656f99ead.mspx?mfr=true

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧