ASP.NET 使用 FormData 实现 AJAX 上传图片

图片上传在 Web 开发中应用十分广泛,我们平时发朋友圈、发微博都用到了上传图片。正好在项目中用到了 AJAX 上传图片,就顺便更新下博客。 关于 FormData FormData 是为序列化表以及创建与表单相同的数据(用于 XHR 传输)提供便利。FormData 翻译过来就是表单数据,说白了就是方便我们用它来进行 AJAX 操作,想要继续了解的朋友可以百度一下。 ...

2017-02-05 · 2 分钟 · 676 字

ASP.NET 上传图片

前台代码: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="UploadPic.aspx.cs" Inherits="UploadPicDemo.UploadPic" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>ASP.NET上传图片</title> </head> <body> <form id="form1" runat="server"> <div> <asp:Image ID="imagePic" runat="server" /> <br /> <asp:FileUpload ID="fileUpload" runat="server" /> <asp:Button ID="btnUpload" runat="server" Text="上传" OnClick="btnUpload_Click" /> <br /> <asp:Label ID="lblMessage" runat="server"></asp:Label> </div> </form> </body> </html> 后台代码: //上传按钮单击事件 protected void btnUpload_Click(object sender, EventArgs e) { if (fileUpload.HasFile) { //获取上传的文件名 string fileName = fileUpload.FileName; //获取上传文件的文件后缀名 string fileFix = fileName.Substring(fileName.LastIndexOf('.') + 1).ToLower(); if (fileFix != "png" && fileFix != "jpg" && fileFix != "jpeg" && fileFix != "gif") { this.lblMessage.Text = "上传的文件不是图片类型文件"; } else { fileUpload.SaveAs(Server.MapPath(".") + "//UploadPic//" + fileName); this.imagePic.ImageUrl = "~/UploadPic/" + fileName; this.lblMessage.Text = "图片上传成功!"; } } } 这是一篇过去很久的文章,其中的信息可能已经有所发展或是发生改变。 ...

2016-11-22 · 1 分钟 · 277 字

DBHelper 类

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Data; using System.Data.SqlClient; namespace GFAMS { class DBHelper { //数据库连接字符串 private static string connStr = "Data Source=.;Initial Catalog=数据库名;Integrated Security=True"; /// <summary> /// 内部数据连接对象 /// </summary> private static SqlConnection Conn = null; /// <summary> /// 内部实例对象 /// </summary> private static DBHelper Instance = null; private DBHelper() { } /// <summary> /// 静态方法,获取数据库连接实例 /// </summary> /// <returns>数据库连接实例</returns> public static DBHelper GetInstance() { if (DBHelper.Instance == null) { DBHelper.Instance = new DBHelper(); } return DBHelper.Instance; } /// <summary> /// 初始化数据库连接 /// </summary> public void InitConnection() { //如果连接对象不存在,则创建连接 if (Conn == null) Conn = new SqlConnection(connStr); //如果连接对象关闭,则打开连接 if (Conn.State.Equals(ConnectionState.Closed)) Conn.Open(); //如果连接中断,则重启连接 if (Conn.State.Equals(ConnectionState.Broken)) { Conn.Close(); Conn.Open(); } } /// <summary> /// 查询、获取 DataReader /// </summary> /// <param name="sqlStr">Sql语句</param> /// <returns>SqlDataReader 数据集</returns> public SqlDataReader GetDataReader(string sqlStr) { InitConnection(); SqlCommand cmd = new SqlCommand(sqlStr, Conn); //CommandBehavior.CloseConnection 命令行为:当 DataReader 对象被关闭时,自动关闭占用的连接对象 return cmd.ExecuteReader(CommandBehavior.CloseConnection); } /// <summary> /// 查询、获取 DataTable /// </summary> /// <param name="sqlStr">Sql语句</param> /// <returns>DataTable 数据表</returns> public DataSet GetDataSet(string sqlStr) { InitConnection(); DataSet ds = new DataSet(); SqlDataAdapter dap = new SqlDataAdapter(sqlStr, Conn); dap.Fill(ds); Conn.Close(); return ds; } /// <summary> /// 执行增删改 /// </summary> /// <param name="sqlStr">Sql语句</param> /// <returns>受影响行数</returns> public int ExecuteNonQuery(string sqlStr) { InitConnection(); SqlCommand cmd = new SqlCommand(sqlStr, Conn); int rows = cmd.ExecuteNonQuery(); Conn.Close(); return rows; } /// <summary> /// 执行聚合函数 /// </summary> /// <param name="sqlStr">Sql语句</param> /// <returns>Object对象</returns> public object ExecuteScalar(string sqlStr) { InitConnection(); SqlCommand cmd = new SqlCommand(sqlStr, Conn); object result = cmd.ExecuteScalar(); Conn.Close(); return result; } } } 这是一篇过去很久的文章,其中的信息可能已经有所发展或是发生改变。 ...

2016-11-03 · 2 分钟 · 742 字

C# 捕获屏幕源码

捕获当前窗体: string Path = @"E:/Test/"; //文件保存路径 int width = this.Size.Width; //当前窗体宽度 int heigh = this.Size.Height; //当前窗体高度 Bitmap bmp = new Bitmap(width, heigh); //新建一个 Bitmap 位图 string FileName = Path + DateTime.Now.ToString("yyyyMMddHHmmss") + "_" + new Random().Next(999) + ".jpg"; this.DrawToBitmap(bmp, new Rectangle(0, 0, width, heigh)); //将当前屏幕画到 Bitmap 位图上 bmp.Save(FileName, System.Drawing.Imaging.ImageFormat.Jpeg); //保存图片 捕获整个屏幕: string Path = @"E:/Test/"; //文件保存路径 int width = Screen.PrimaryScreen.Bounds.Width; //主屏幕宽度 int height = Screen.PrimaryScreen.Bounds.Height; //主屏幕高度 Bitmap bmp = new Bitmap(width, height); //新建一个 Bitmap 位图 Graphics g = Graphics.FromImage(bmp); //从 Bitmap 位图创建 Graphics g.CopyFromScreen(new Point(0, 0), new Point(0, 0), new Size(width, height)); g.ReleaseHdc(g.GetHdc()); string FileName = Path + DateTime.Now.ToString("yyyyMMddHHmmss") + "_" + new Random().Next(999) + ".jpg"; bmp.Save(FileName); 源码下载:x 效果图:x 不足:捕获时将 Winform 窗体一起捕获进去了。解决办法:当点击捕获屏幕按钮时,将当前窗体隐藏,截图成功后再显示。 ...

2016-10-31 · 1 分钟 · 285 字

使用 C# 编写学生信息管理系统

根据学生信息管理系统使用要求,程序要实现添加、删除、修改、查询、退出功能,而这就用到了数组结构、循环结构、检索方法和退出程序的方法。 定义一个二维字符串数组,用于储存学生信息: ...

2016-02-27 · 1 分钟 · 235 字