返回列表 发新帖

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

219.1k 8
swmozowtfl 发表于 2015-7-31 22:04:05|湖北 | 查看全部 阅读模式
本文实例讲述了asp.net获取服务器指定文件夹目录文件并提供下载的方法。分享给大家供大家参考。具体实现方法如下:
! v" f( R+ @0 @4 ?2 u7 ?, w5 U复制代码 代码如下:string dirpath = httpcontext.current.server.mappath(uploads/);  G& \( k- s$ Z' y) t3 B
if (directory.exists(dirpath))+ _4 t4 p; y3 @5 f1 w
{8 R+ ?% t- I* E4 J. j: x
//获得目录信息
/ c- w- B, c) h6 Y; Ndirectoryinfo dir = new directoryinfo(dirpath);+ w7 A7 B. \3 ~" m
//获得目录文件列表0 O  I  b# s" T& f" Y6 e$ x
fileinfo[] files = dir.getfiles(*.*);
9 u, O* Z1 G9 i  _) |string[] filenames = new string[files.length];) q, Y# A7 A' g% p
//临时数据表
3 {0 r5 S0 N6 w/ y0 w/ ~1 M1 ?datatable dt = new datatable();' U; [- \% Y0 ]/ m% ?4 r
dt.columns.add(filename);- r& D* [8 U. M
* g9 S  l# b4 A) D9 n5 H$ u
foreach (fileinfo fileinfo in files). B5 l# g) T, p
{
( t# o! b# h1 @; ndatarow dr = dt.newrow();
2 y7 P( n4 _9 H1 R% j+ Odr[filename] = fileinfo.name;& s, |4 ?8 l1 i' q. ?$ K0 h
dt.rows.add(dr);
: S9 x$ K" q4 U1 [}* ]$ k0 K/ K$ B+ R( O. W
repeater1.datasource = dt;
. Q  s5 b. S7 e: }# S& |" R! Trepeater1.databind();
( v- ^" C: S: k& Q}9 C: k' \, b8 N4 n8 c1 I2 `
if (e.commandname == down)
3 ~; i* a9 d4 N; n  V9 O% j( ?5 }{
5 @* x. y" ]4 f: p' q! h" Jtry
5 W1 o* Z) R+ _* m" W{7 j5 f7 \/ d/ o9 R  F
string downloadfilename = ~/uploads/ + e.commandargument.tostring();//文件路径# h) G( `9 g* O0 [& u8 U( F
string filepath = server.mappath(downloadfilename);
) `& \& k  E$ [2 ~string filename = path.getfilename(filepath);
. |$ ~  X- Q" Q2 Y; {- {fileinfo file = new fileinfo(filepath);: z! M9 ?) H. N; D+ w. x
response.clear();# C7 j6 Z$ t* J/ i0 q1 `
response.contenttype = application/octet-stream;
) f2 l5 G1 i6 k$ `+ jresponse.addheader(content-disposition, attachment; filename= + httputility.urlencode(filename, system.text.encoding.utf8));+ w; b2 E1 O, B  t' c) b
response.addheader(content-length, file.length.tostring());
4 D* w4 [( e: K- Wresponse.flush();. S& V% @8 S# t
response.writefile(filepath);8 p" R2 t5 Y! }) Y$ f0 V8 `4 H# g
}/ `$ F8 ?& v2 X: t& \- ?/ X
catch
1 W4 C0 J( A) O/ H{
* Y+ s8 e: J( n0 x1 D1 sresponse.write(<script>alert('没有找到下载的源文件')</script>);
8 z# A" S1 A9 L- ]}# [" {( B' t; E, z' G2 r$ ~
}
' |8 j/ M% i& h希望本文所述对大家的asp.net程序设计有所帮助。
( S; m+ G) Y4 J& ]0 b
/ |3 l" H0 B( Q; @0 \更多网页制作信息请查看: 网页制作

回复|共 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客服 返回顶部
快速回复 返回顶部 返回列表