首页 新闻 会员 周边

关于Asp.Net中的下载文件的问题????

0
悬赏园豆:5 [已关闭问题]
<P>我会上传了。但如何把服务器上的的文件(本地项目中的文件吧!)下载到本地(桌面,或E,D盘中)?</P> <P>能给个简单的例子,就太谢谢了!</P>
HamunNet的主页 HamunNet | 初学一级 | 园豆:25
提问于:2008-04-24 16:58
< >
分享
其他回答(3)
0
直接使用超链接就可以了。 超链接指向相关资源。下载的时候浏览器会给你一个选择框的。
暗香浮动 | 园豆:361 (菜鸟二级) | 2008-04-24 17:40
0
使用WebClient的ownloadFile()是一种方法 System.Net.WebClient wc = new System.Net.WebClient(); try { if (!File.Exists(picName)) wc.DownloadFile(filename, strSavePath); } catch (System.Exception ex) { Response.Write("error:" + ex.Message.ToString()); } finally { wc.Dispose(); }
生鱼片 | 园豆:5757 (大侠五级) | 2008-04-24 18:15
我尝试了下 wc.DownloadFile(filename, strSavePath); 没有起作用
支持(0) 反对(0) 诸葛二牛 | 园豆:200 (初学一级) | 2009-08-25 16:33
0
去 参考Discuz.NT 的 Discuz.Common.Utils这个类 /// <summary> /// 以指定的ContentType输出指定文件文件 /// </summary> /// <param name="filepath">文件路径</param> /// <param name="filename">输出的文件名</param> /// <param name="filetype">将文件输出时设置的ContentType</param> public static void ResponseFile(string filepath, string filename, string filetype) { Stream iStream = null; // 缓冲区为10k byte[] buffer = new Byte[10000]; // 文件长度 int length; // 需要读的数据长度 long dataToRead; try { // 打开文件 iStream = new FileStream(filepath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite); // 需要读的数据长度 dataToRead = iStream.Length; HttpContext.Current.Response.ContentType = filetype; HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment;filename=" + Utils.UrlEncode(filename.Trim()).Replace("+", " ")); while (dataToRead > 0) { // 检查客户端是否还处于连接状态 if (HttpContext.Current.Response.IsClientConnected) { length = iStream.Read(buffer, 0, 10000); HttpContext.Current.Response.OutputStream.Write(buffer, 0, length); HttpContext.Current.Response.Flush(); buffer = new Byte[10000]; dataToRead = dataToRead - length; } else { // 如果不再连接则跳出死循环 dataToRead = -1; } } } catch (Exception ex) { HttpContext.Current.Response.Write("Error : " + ex.Message); } finally { if (iStream != null) { // 关闭文件 iStream.Close(); } } HttpContext.Current.Response.End(); }
Hunts.C | 园豆:266 (菜鸟二级) | 2008-04-24 18:20
0
try wget
wingoo | 园豆:1513 (小虾三级) | 2008-04-24 19:01
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册