返回列表 发新帖

asp.net获取服务器指定文件夹目录文件并提供下载的方法

218.5k 8
swmozowtfl 发表于 2015-7-31 22:04:05|湖北 | 查看全部 阅读模式
本文实例讲述了asp.net获取服务器指定文件夹目录文件并提供下载的方法。分享给大家供大家参考。具体实现方法如下:
( {& F  l: W% F" f2 N. g0 m复制代码 代码如下:string dirpath = httpcontext.current.server.mappath(uploads/);
) `0 D8 H9 W6 }' V$ e0 T& Nif (directory.exists(dirpath))% e; w( M' A) C. Q
{: B- K1 b' ]" {
//获得目录信息& l' O2 k, S2 S. r
directoryinfo dir = new directoryinfo(dirpath);
* ^  b: R* v& i- I# A9 ^//获得目录文件列表
) K2 q; [( f3 z/ R0 ?fileinfo[] files = dir.getfiles(*.*);8 w+ B0 `- ~) M$ R$ D$ f
string[] filenames = new string[files.length];
4 h/ |4 e! F3 V2 A//临时数据表
7 k+ P) [7 ?0 o% l/ Q3 Xdatatable dt = new datatable();
9 j9 X2 ~* |& I- ~: qdt.columns.add(filename);
1 A6 C- C6 h; \$ k. @) K6 @- U" P4 v) p- y
foreach (fileinfo fileinfo in files)! i0 o4 \  l# a* ]5 E2 M
{
3 B: A8 w9 R' y) ~7 Y4 F/ {% Idatarow dr = dt.newrow();+ l* p' A0 z8 r6 B
dr[filename] = fileinfo.name;
1 }& y% w; D% \' D2 Hdt.rows.add(dr);
$ s5 _: b2 p+ p! j}
. M8 h/ f2 u2 O4 B1 Mrepeater1.datasource = dt;8 m" Z+ y! b: O
repeater1.databind();5 m- L, L+ [# ]; z2 ]8 B4 p
}4 W" g5 o. `$ L, |2 I" l, n
if (e.commandname == down)
- ]8 l: I" V6 I: T; R{
6 g9 g" O  q3 I  N. Z! V8 gtry" f% Y! }& y& O! [5 T' u9 \2 I, Y7 y
{7 y. d' \" U' y3 r! _$ F
string downloadfilename = ~/uploads/ + e.commandargument.tostring();//文件路径
0 P- c8 P& t( C; D; v& Kstring filepath = server.mappath(downloadfilename);
6 C4 M0 c9 F$ \9 {: Bstring filename = path.getfilename(filepath);
+ _+ \5 Y6 }& y) N7 Cfileinfo file = new fileinfo(filepath);6 O0 M6 h- I. b! `5 z3 L
response.clear();) B. y% O5 y& O- z( l  n+ N7 X
response.contenttype = application/octet-stream;
( q* C7 |7 c3 Y9 @& lresponse.addheader(content-disposition, attachment; filename= + httputility.urlencode(filename, system.text.encoding.utf8));
* K) j8 w* Q$ g2 Oresponse.addheader(content-length, file.length.tostring());
/ h+ E8 q( y6 fresponse.flush();8 M; S) r  i3 a6 ], g4 @: D" t, s
response.writefile(filepath);
' N% e1 u! Y! i: O2 f4 p2 s}
2 R# U0 H: m) g1 E  q+ L5 Kcatch% F2 X9 G: ?( p+ d3 C1 S0 e3 ~# z
{: D+ c1 n$ Z% o# V* T+ r
response.write(<script>alert('没有找到下载的源文件')</script>);5 H0 A) j# z- @9 w: L; e7 I" e# S
}6 Z. s: ]3 t7 O5 _/ J- T
}7 `/ Z. o$ ~2 u6 Z, k3 `; ?% V5 F/ K9 p! m
希望本文所述对大家的asp.net程序设计有所帮助。$ w) ~, @) n# K7 I- w( r) ~: L

9 g0 S% s' J! Z" c: K/ F更多网页制作信息请查看: 网页制作

回复|共 8 个

Acropozelan 发表于 2015-10-31 22:30:42|法国 | 查看全部
我是来收集资料滴...
seazvyt 发表于 2015-10-31 22:30:46|美国 | 查看全部
这个站一周前刚刚有了点起色
tohme 发表于 2015-10-31 22:31:03|美国 | 查看全部
@,@..是什么意思呀?
alapScady 发表于 2016-3-13 21:29:16|拉美地区 | 查看全部
要不我崇拜你?行吗?
gevaemaidovef 发表于 2016-3-13 21:29:43|日本 | 查看全部
哈哈 怎么说来眼睛小真的很好 哈 哈哈~~~~
Mqokjdvq 发表于 2016-3-13 21:29:53|美国 | 查看全部
哎 怎么说那~~
mwxny 发表于 2016-3-13 21:30:00|美国 | 查看全部
今天统计好像出了问题
effoggikeftor 发表于 2016-3-13 21:30:13|英国 | 查看全部
我去看看 网络上的事 我不是很会 哎

回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

得知互动是一个融创意、设计、开发、营销、生活、互联网于一体的专业交流分享平台。
Copyright © 2026 站长技术交流论坛|互联网技术交流平台 版权所有 All Rights Reserved. Powered by Discuz! X5.0 鄂ICP备15006301号-5|鄂公网安备 42018502006730号
关灯 在本版发帖 扫一扫添加QQ客服 返回顶部
快速回复 返回顶部 返回列表