博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ASP.NET上传下载文件
阅读量:6200 次
发布时间:2019-06-21

本文共 2702 字,大约阅读时间需要 9 分钟。

ASP.NET上传下载文件

上传文件:

using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.IO; #region 上传文件 /// <summary> /// 上传文件 /// </summary> /// <param name="UpLoadFilePath">上传位置</param> /// <param name="strTime">当前时间(加时间重命名文件,防止重复)</param> /// <param name="upload">上传控件</param> private void UploadMethod(String UpLoadFilePath, string strTime,FileUpload upload) { bool fileOK = false; //文件的上传路径 string path = Server.MapPath(UpLoadFilePath); //判断上传文件夹是否存在,若不存在,则创建 if (!Directory.Exists(path)) { //创建文件夹 Directory.CreateDirectory(path); } //如果选择了文件则执行 if (upload.HasFile) { //获取上传文件的类型 string fileExtesion = System.IO.Path.GetExtension(upload.FileName).ToLower(); //获取没有扩展名的文件名 string result = System.IO.Path.GetFileNameWithoutExtension(upload.FileName); //允许上传的类型 string[] allowExtesions = { ".doc", ".xls", ".rar", ".zip", ".ppt" }; for (int i = 0; i < allowExtesions.Length; i++) { if (fileExtesion == allowExtesions[i]) { //文件格式正确 允许上传 fileOK = true; } } if (fileOK) { try { string newname = result + strTime + fileExtesion; upload.PostedFile.SaveAs(path + newname); Session["filename"] = newname; } catch (Exception) { Page.ClientScript.RegisterStartupScript(Page.GetType(), "message", "<script language='javascript' defer>alert('上传失败!');</script>"); } } else { Page.ClientScript.RegisterStartupScript(Page.GetType(), "message", "<script language='javascript' defer>alert('上传失败!');</script>"); } } else { //尚未选择文件 Page.ClientScript.RegisterStartupScript(Page.GetType(), "message", "<script language='javascript' defer>alert('尚未选择任何文件,请选择文件!');</script>"); return; } } #endregion
下载文件:

 using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.IO; using System.Text.RegularExpressions;/// <summary> /// 下载文件 /// </summary> /// <param name="downloadfilepath">文件路径</param> private void DownloadMethod(string downloadfilepath) { string path = Server.MapPath(downloadfilepath); Regex re = new Regex(@"\w*\.\w*"); string st = re.Match(path).Value.ToString(); string fileName = st; //客户端保存的文件名 FileInfo fileInfo = new FileInfo(path); Response.Clear(); Response.ClearContent(); Response.ClearHeaders(); Response.AddHeader("Content-Disposition", "attachment;filename=" + fileName); Response.AddHeader("Content-Length", fileInfo.Length.ToString()); Response.AddHeader("Content-Transfer-Encoding", "binary"); Response.ContentType = "application/octet-stream"; Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312"); Response.WriteFile(fileInfo.FullName); Response.Flush(); Response.End(); }
调用:

    UploadMethod(DocPath,strTime,fileUpload);

    DownloadMethod(filePath);

转载地址:http://ievca.baihongyu.com/

你可能感兴趣的文章
Remove MailboxDatabase operation fails to clean up
查看>>
域名注册、域名实名认证、域名解析流程详解
查看>>
「小程序」的崛起和未来在哪
查看>>
TCP应用编程
查看>>
centos7中yum安装ntfs-3g
查看>>
文件(list)的基本操作 1.1
查看>>
jenkins 未授权访问-任意命令执行
查看>>
7-10 基本Java知识
查看>>
eclipse 快速自动生成测试方法
查看>>
别让性能黑洞将应用价值止步于起飞跑道上
查看>>
ASA防火墙12 故障切换
查看>>
eclipse 下快捷新建一个简单的maven 空项目
查看>>
Velocity 字符串拼接 (特殊符号拼接的方式)
查看>>
在Ubuntu中安装R的几种方式总结
查看>>
刚刚安装完成Linux,总结安装过程中遇到的3个问题
查看>>
国内首个容器技术白皮书抢先看
查看>>
c语言实现数据结构中的顺序表
查看>>
Linux基础命令:文本处理工具之cut
查看>>
Ubuntu 16.04 LTS 初体验
查看>>
Maven(三)Eclipse安装Maven插件
查看>>