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