练习文件保存按照日期来创建文件夹,并保存
2015-07-06 14:52
288 查看
上传页面:
处理页面:
SqlHelper类:
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title> </head> <body> <form action="UploadStoreByDate.ashx" method="post" enctype="multipart/form-data"> <input type="file" name="file1" /> <input type="submit" value="上传" /> </form> </body> </html>
处理页面:
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Web; namespace Web1 { /// <summary> /// UploadStoreByDate 的摘要说明 /// </summary> public class UploadStoreByDate : IHttpHandler { public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/html"; context.Response.Write("<html><head><title>文件保存按日期</title></head><body>"); HttpPostedFile file1 = context.Request.Files["file1"]; if (file1.ContentLength <= 0) { context.Response.Write("请选择要上传的文件"); OutputHtmlEnd(context.Response); return; } if (file1.ContentLength > 2 * 1024 * 1024) { context.Response.Write("只允许上传不大于1MB的文件"); OutputHtmlEnd(context.Response); return; } string fileExt = Path.GetExtension(file1.FileName);//文件的扩展名 if (fileExt != ".zip" && fileExt != ".rar") { context.Response.Write("只允许上传zip、rar....文件"); OutputHtmlEnd(context.Response); return; } string dirPath = DateTime.Now.Year + "/" + DateTime.Now.Month + "/" + DateTime.Now.Day;//upload中建的目录按日期创建 string dirFullPath = context.Server.MapPath("~/upload/"+dirPath+"/");//建的目录全路径 string fileFullPath = Path.Combine(dirFullPath,file1.FileName);//一个文件全路径(带文件名) if (!Directory.Exists(dirFullPath))//如果文件夹不存在,则先创建文件夹 { Directory.CreateDirectory(dirFullPath); } file1.SaveAs(fileFullPath); context.Response.Write("文件上传成功!"); } private void OutputHtmlEnd(HttpResponse response) { response.Write("</body></html>"); } public bool IsReusable { get { return false; } } } }
SqlHelper类:
using System; using System.Data; using System.Data.SqlClient; using System.Web; namespace Web1 { public class SqlHelper { //连接字符创 private static readonly string connstr = "Data Source=.;Initial Catalog=Persons;Persist Security Info=True;User ID=sa;Password=123"; //执行查询,返回一张二维表 -----------(查) public static DataTable ExecuteQuery(string sql, params SqlParameter[] parameters) { using (SqlConnection conn = new SqlConnection(connstr)) using (SqlCommand cmd = conn.CreateCommand()) { conn.Open(); cmd.CommandText = sql; cmd.Parameters.AddRange(parameters);//连续添加 DataTable dt = new DataTable();//实例化一个表 using(SqlDataReader reader=cmd.ExecuteReader()) { dt.Load(reader);//查询完一条记录就加载到实例化的表dt中 return dt; } } } //返回受影响的行数,引用外部的,一个连接,和传进来的参数 ------------(增。删。改) public static int ExecuteNonQuery(string sql,params SqlParameter[] parameters) { using(SqlConnection conn=new SqlConnection(connstr)) using (SqlCommand cmd = conn.CreateCommand()) { conn.Open(); cmd.CommandText = sql; cmd.Parameters.AddRange(parameters); return cmd.ExecuteNonQuery();//返回该语句受影响的行数 } } public static object ExecuteScalar(string sql, params SqlParameter[] paramerters) { using(SqlConnection conn=new SqlConnection(connstr)) using (SqlCommand cmd = conn.CreateCommand()) { conn.Open(); cmd.CommandText = sql; cmd.Parameters.AddRange(paramerters); return cmd.ExecuteScalar();//返回该语句查找的对象 } } } }
相关文章推荐
- 第 1 节: 1-文本自增演示HttpHandler不记忆状态
- 员工Emp表的增删改查实现!本实验室目的是为了了解模板页的好处!1231312313
- 员工Emp表的增删改查实现!本实验室目的是为了了解模板页的好处!
- Companys公司表的增删该查功能实现
- C#代码试运行在服务器端----JS代码是运行在浏览器端
- 网站---不要相信浏览器
- HttpHandler动态生成图片
- ASP.Net核心对象之context.Server对象几个常用方法
- Request()方法举例
- 验证Response.End()方法的使用
- HttpResponse
- 动态调用类中的方法(无)(有)参数
- HttpRequest类
- Get与Post
- 第 3 节: 3-Http协议之Request、Response
- UIButton之 setBackgroundImage 和 setImage区别
- 2015年4-6月-前端开发月刊
- 较好的第三方库
- zend studio 做前端推荐安装的插件
- HTML5之<del>标签