日期:2014-05-18  浏览次数:20488 次

asp.net 下载文件
我文件上传后是用girdview显示出来的,在 TemplateField中添加了如下字段:
 <asp:TemplateField HeaderText="下载">
  <ItemTemplate>
  <asp:HyperLink ID="HyperLink1" runat="server" Text="下载" HeaderText="下载" 
  NavigateUrl='<%# Eval("saveaddress") %>'></asp:HyperLink>
  </ItemTemplate>
  </asp:TemplateField>
在浏览器的状态栏上显示file:///D:/istudy/upfile/teacherli/istudybbs.fla
这个文件路径是对的,但是点下载没有反应

------解决方案--------------------
file:///D:/istudy/upfile/teacherli/istudybbs.fla这是文件路径,是无法下载和的。

你应该写
<asp:HyperLink ID="HyperLink1" runat="server" Text="下载" HeaderText="下载" 
NavigateUrl='<%# "DownLoad.aspx?File=" + Eval("saveaddress") %>'></asp:HyperLink>

DownLoad.aspx里面写

string filepath = Request.QueryString["File"];
String filename= System.IO.Path.GetFileName(filepath );
Response.Clear();
Response.ContentType = "application/octet-stream";
Response.AddHeader("Content-Disposition", "attachment; filename=" + filename);
Response.Flush();
Response.WriteFile(filepath);
Response.End();
------解决方案--------------------
file:///D:/istudy/upfile/teacherli/istudybbs.fla这个是从客户端本地访问,涉及到安全性的。服务端提供下载服务不是这样玩儿的

http://apps.hi.baidu.com/share/detail/18081057