返回列表 发新帖

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

218.8k 8
swmozowtfl 发表于 2015-7-31 22:04:05|湖北 | 查看全部 阅读模式
本文实例讲述了asp.net获取服务器指定文件夹目录文件并提供下载的方法。分享给大家供大家参考。具体实现方法如下:
( B+ q& w9 n2 `3 E7 q" I) f复制代码 代码如下:string dirpath = httpcontext.current.server.mappath(uploads/);; p* Y+ D% C  M( d0 B6 j1 M
if (directory.exists(dirpath))
/ ~  B0 \4 q$ N- A/ C{
6 V+ D) v- J! a//获得目录信息6 J. G) |. k& N6 K5 B' @
directoryinfo dir = new directoryinfo(dirpath);4 j( m9 i/ y2 Q' x( d# E
//获得目录文件列表  o  S9 }# ?& ?# G6 i) L" U0 b7 J
fileinfo[] files = dir.getfiles(*.*);* ^: g6 I2 h. z3 w$ U& |) \8 j3 k
string[] filenames = new string[files.length];
+ d; {. E) ~! o/ C- u, l3 g# L//临时数据表
) u1 _) B, R* g* M3 \7 a% fdatatable dt = new datatable();% ?5 m* ]- g( n+ G& G- u/ x
dt.columns.add(filename);
7 E( H7 E% ~- f3 @, a2 V; f6 U  r, e2 Q: p/ D' n
foreach (fileinfo fileinfo in files)
& _6 U4 I4 M" L0 I. x, m{( g: T! h2 Z+ l4 q! S
datarow dr = dt.newrow();3 r# T: ?" Q. @0 I3 Z8 O% |& W
dr[filename] = fileinfo.name;4 y9 X  Y% K" q8 K: j
dt.rows.add(dr);, s  F8 G  L9 v8 Y; B3 ]: O! {) _
}. ?' l2 P3 Z8 ]4 D6 w" R# u2 P' F
repeater1.datasource = dt;9 I) B7 ?7 j8 s! \7 z% @  k
repeater1.databind();3 ~9 M2 d; `9 ^! l  J, `# }% v  y
}6 r6 N8 h' b* E6 _
if (e.commandname == down), }3 O) X5 p: H0 c" z% E% i/ l' r
{
3 ^7 O. G. V+ `try
( Z$ Z+ `+ Z- R' C" d{, J0 n7 n) r: `; o& ^
string downloadfilename = ~/uploads/ + e.commandargument.tostring();//文件路径) f: G. b& X, m% y7 N. V  W
string filepath = server.mappath(downloadfilename);
3 Q7 }9 T2 |3 i: C- Q3 h1 {0 ystring filename = path.getfilename(filepath);
; X( c5 G1 c. q3 m4 Qfileinfo file = new fileinfo(filepath);8 m+ q  g, c. o; u5 T
response.clear();
$ j0 ~0 @) ^1 X0 Wresponse.contenttype = application/octet-stream;/ X) c- {) q' K6 J% m
response.addheader(content-disposition, attachment; filename= + httputility.urlencode(filename, system.text.encoding.utf8));( v* h; e- }( p9 Q* c
response.addheader(content-length, file.length.tostring());, R6 \; m. d0 c" F9 \
response.flush();" V1 K' Q. m8 v' \) d) ^" O; |3 u2 }
response.writefile(filepath);2 [0 B1 q' u4 R3 P' z2 y
}
2 J( _0 X6 j/ Gcatch
5 G2 X" d- m, L  T, |{
( T; X8 i! i+ y% t9 Qresponse.write(<script>alert('没有找到下载的源文件')</script>);, d. F9 L2 y; y
}- g: e+ c: s0 E* |* }
}4 m! r2 B8 B% F) x. O4 [
希望本文所述对大家的asp.net程序设计有所帮助。
2 l3 D$ w6 ~4 K1 _# x
( J, R7 L1 Q1 }6 t) E更多网页制作信息请查看: 网页制作

回复|共 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 得知互动-专注Ai与站长技术交流社区-Ai交流平台 版权所有 All Rights Reserved. Powered by Discuz! X5.0 鄂ICP备15006301号-5|鄂公网安备 42018502006730号
关灯 在本版发帖 扫一扫添加QQ客服 返回顶部
快速回复 返回顶部 返回列表