ASP.NET上传下载文件
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);
ASP.NET上传下载文件相关推荐
- ASP.NET中上传下载文件
ASP.NET中上传下载文件 //检查上传文件不为空 if(File1.PostedFile!=null) { stringnam=File1.PostedFile.FileName; //取得文件名 ...
- Asp.Net 上传大文件专题(4)--利用ajax技术显示上传进度
====================================================== 注:本文源代码点此下载 ================================= ...
- oracle asp.net上传 下载 文件大小只有32kb,asp默认上传大小
asp.net 上传大文件大小控制方案 .NET默认允许上传4M的文件. 修改 Machine.config 文件,改动MaxRequestLength 参数的值.在c:\winnt\microsof ...
- 如何用Jmeter上传下载文件
文章目录 如何用Jmeter上传下载文件 1.上传文件 1.1 准备: 1.2 步骤: 1.3 拓展点:MIME类型(关于MIME填什么) 1.4 高级用法:批量上传文件 2.下载文件 2.1 准备: ...
- 初级版python登录验证,上传下载文件加MD5文件校验
服务器端程序 import socket import json import struct import hashlib import osdef md5_code(usr, pwd):ret = ...
- SecureCRT上传下载文件
2019独角兽企业重金招聘Python工程师标准>>> SecureCRT是一个仿真终端连接工具.它可以方便的连接SSH服务器,远程管理Linux.同时,它还能使用多种协议方便的上传 ...
- Linux下支持rz/sz上传下载文件
) 工具说明 在SecureCRT这样的ssh登录软件里, 通过在Linux界面里输入rz/sz命令来上传/下载文件. 对于RHEL5, rz/sz默认没有安装所以需要手工安装. sz: 将选定 ...
- python实现文件下载-python实现上传下载文件功能
最近刚学python,遇到上传下载文件功能需求,记录下! django web项目,前端上传控件用的是uploadify. 文件上传 - 后台view 的 Python代码如下: @csrf_exem ...
- 在Windows上使用终端模拟程序连接操作Linux以及上传下载文件
在Windows上使用终端模拟程序连接操作Linux以及上传下载文件 [很简单,就是一个工具的使用而已,放这里是做个笔记.] 刚买的云主机,或者是虚拟机里安装的Linux系统,可能会涉及到在windo ...
最新文章
- 分布式深度学习DDL解析
- Cnnot find System Java Compiler Ensure that you have installed a JDK
- 初中参观机器人博物馆的作文_2021考研英语二大作文模板整理
- smarty中打印php变量,smarty用php标签怎么输出变量
- asp中关于从utf8页面到gb2312页面出现乱码得解决
- java生成word 框勾_Java 使用模板生成 Word 文件---基于 Freemarker 模板框架
- TDengine安装教程
- mybatis sql不等于
- springboot 解决put,delete方法获取不到参数问题
- atitit.身份认证解决方案attilax总结
- Python 安装skimage即Scikit-Image
- vue如何设置视频封面_vue怎么制作朋友圈封面视频 vue制作朋友圈视频方法
- php api 实例maccms,api.php · do do/maccms10 - Gitee.com
- Linux获取外网IP
- 今天有空,不如来找找“双鸭山大学”的由来吧~
- 10.4 好老师就在你身边——《逆袭大学》连载
- 报表技术2(百万数据导入导出,POI操作word)
- Python数据分析学习系列 九 绘图和可视化
- Python学习笔记02_流程控制
- gulp报错The following tasks did not complete
热门文章
- IKVM.NET_第一篇_概述
- pytorch---之halfTensor
- 3.3 keras模型构建的三种方式
- C# Readonly和Const的区别
- 双线性插值函数的形状
- ken沈oracle,甲骨文宣布推出Oracle商务软件
- php脚本语法格式,[PHP学习笔记][五]PHP基本语法规则
- atm取款流程测试_盘点2020年软件测试新手必看的技术面试指南(下)
- php 网页解析错误,php-解析错误:语法错误,文件意外结束
- swift实例教程_Swift示例教程基础