zoukankan      html  css  js  c++  java
  • 在一个ASP.Net页中实现上传照片并存入数据库,上传后显示所上传的照片

    using System;
    using System.Data;
    using System.Configuration;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;

    using System.IO;
    using System.Data.SqlClient;

    public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e)
        {
           
        }
       
    protected void Button1_Click(object sender, EventArgs e)
        {

           
    #region 测试写入

           
    if (!FileUpload1.HasFile)
            {
                Response.Write(
    "请选择图片");
            }

               
    string fileEx = System.IO.Path.GetExtension(this.FileUpload1.FileName);  //获取图片扩展名

               
    if (fileEx != ".gif" && fileEx != ".jpg" && fileEx != ".jpeg" && fileEx!= ".bmp")
                {
                    Response.Write(
    "只能上传图片");

                }


               
    else
                {

                   
                       
    // ImageType 有用,读取图片的时候需要

                        
    int imgSize = this.FileUpload1.PostedFile.ContentLength;  //图片大小 (字节)
                        string imgType = this.FileUpload1.PostedFile.ContentType;    //图片类型
                        string imgPath = this.FileUpload1.PostedFile.FileName; //获取图片路径
                        string imgName = this.FileUpload1.FileName; //获取图片名字
                        int imgLength = this.FileUpload1.FileName.Length; //获取图片长度
                        if (imgLength <= 0)//判断是否有图片
                            return;
                        Byte[] imgByte
    = new Byte[imgSize]; //用图片的长度来初始化一个字节数组存储临时的图片文件
                        Stream stream = this.FileUpload1.PostedFile.InputStream; //建立文件流对象
                        stream.Read(imgByte, 0, imgSize);// 读取图片数据到临时存储体imgByte,0为数据指针位置,fileLength为数据长度
                       
    //this.FileUpload1.FileBytes
                        try
                        {
                           
    string connection = ConfigurationManager.ConnectionStrings["DBConn"].ConnectionString;
                            SqlConnection sqlconn
    = new SqlConnection(connection);
                            sqlconn.Open();
                           
    string sqlcmd = "insert into Image values (@ImageType,@ImageData,@ImageTitle)";
                            SqlCommand sqc
    = new SqlCommand(sqlcmd, sqlconn);
                            sqc.Parameters.Add(
    "@ImageType", SqlDbType.VarChar, 50).Value = imgType;
                            sqc.Parameters.Add(
    "@ImageData", SqlDbType.Image, imgSize).Value = this.FileUpload1.FileBytes;// imgByte;//将二进制的图片赋值给@ImageData
                            sqc.Parameters.Add("@ImageTitle", SqlDbType.VarChar, 50).Value = imgName;
                           
    int result = sqc.ExecuteNonQuery();
                            sqlconn.Close();
                           
    if (result != 0)
                            {
                                Response.Write(
    "OK");
                            }
                           
    else
                            {
                                Response.Write(
    "NO");
                            }
                        }
                       
    catch (Exception ex)
                        {
                            Response.Write(ex.StackTrace);
                        }
                       
    finally
                        {
                           
                        }

                }
           
    #endregion
            }
    }
    这个是存进去的

    using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;

    using System.IO;
    using System.Data.SqlClient;

    public partial class Default2 : System.Web.UI.Page
    {
       
    protected void Page_Load(object sender, EventArgs e)
        {
           
    if (!Page.IsPostBack)
            {
               
    #region  测试读取
               
    string sqlCmd = "select top 1 * from Image order by imageID desc";
               
    string connection = ConfigurationManager.ConnectionStrings["DBConn"].ConnectionString;
                SqlConnection sqlconn
    = new SqlConnection(connection);
               
    try
                {
                    sqlconn.Open();
                    SqlCommand sqc
    = new SqlCommand(sqlCmd, sqlconn);

                   
    //Response.ContentType = "image/pjpeg";
                    using (SqlDataReader sdr = sqc.ExecuteReader())
                    {
                       
    while (sdr.Read())
                        {
                           
    //Response.ContentType = sdr["imageType"].ToString();
                            Response.Clear();
                            Response.BinaryWrite((
    byte[])sdr["imageData"]);

                        }
                    }
                   
    //sdr.Close();
                   
    //sqlconn.Close();
                }
               
    catch (Exception ex)
                {
                    Response.Write(ex.StackTrace);
                }
               
    finally
                {
                    sqlconn.Close();
                }

               
    #endregion
            }
        }
    }





    这个是取出来的,在页面要放一个容器去接收图片!

  • 相关阅读:
    转载:C#制作PDF
    搜索研究
    HDU 4029 Distinct Submatrix [后缀数组]
    HDU 4336 Card Collector [状态压缩概率DP]
    ZOJ 3329 One Person Game [数学期望]
    POJ 2096 Collecting Bugs[数学期望]
    HDU 4338 Simple Path [双联通分量+RMQ(LCA)]
    POJ 1222 EXTENDED LIGHTS OUT [高斯消元]
    HDU 2258 Continuous Same Game (1)[模拟]
    HDU 4339 Query [树状数组]
  • 原文地址:https://www.cnblogs.com/mxh691/p/1396542.html
Copyright © 2011-2022 走看看