• ASP.NET实现写入和读取图片(C#+SQL Server)


    //写入图片到数据库中
      private void WriteImage()
      {
       SqlCommand comm = conn.CreateCommand();
       comm.CommandText = "insert into images(image,type) values(@image,@type)";
       comm.CommandType = CommandType.Text;
       SqlParameter param = comm.Parameters.Add("@image",SqlDbType.Image);
       param.Value = ReadFile();
       param = comm.Parameters.Add("@type",SqlDbType.NVarChar);
       param.Value = GetContentType(new FileInfo(fileName).Extension.Remove(0,1));
       if(comm.executenonquery() == 1)
        Response.Write("Successful");
       else
        Response.Write("Fail");
       
       conn.Close();
      }

      //从数据库中读取图片
      private void ReadImage()
      {
       SqlCommand comm = conn.CreateCommand();
       comm.CommandText = "select image,type from images";
       comm.CommandType = CommandType.Text;
       sqldatareader reader = comm.ExecuteReader();
       while(reader.Read())
       {
        Response.ContentType = reader["type"].ToString();//读写类型  一定要设置 否则浏览器会当作文本输出
        Response.BinaryWrite((byte[])reader["image"]);//图片数据
       }
       response.write("successful");
       Response.End();
       conn.close();
      }

    //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    //其他自定义方法如下:

      //连接数据库
      private void ConnectDB()
      {
       string connStr = "Initial Catalog=;Data Source=;User ID=sa;Password=;";
       conn = new SqlConnection(connStr);
       conn.Open();
      }

    //得到文件名
      private string GetFile()
      {
       HttpPostedFile file = File1.PostedFile;
       fileName = file.FileName;
       return fileName;
      }
      //读取文件内容
      private byte[] ReadFile()
      {
       FileStream file = File.OpenRead(GetFile());
       byte[] content = new byte[file.Length];
       file.Read(content,0,content.Length);
       file.Close();
       return content;
      }

      //获取图片的后缀名
      private string GetContentType(string extension)
      {
       string type = "";
       if(extension.equals("jpg") || extension.Equals("JPG"))
        type = "jpeg";
       else
        type = extension;
       return "image/"+type;
      }

  • 相关阅读:
    C# Redis实战(四)
    C# Redis实战(三)
    C# Redis实战(二)
    C# Redis实战(一)
    C#连接内存数据库redis【1、Redis存读取数据】
    C#连接内存数据库redis【1、安装配置】
    c#根据配置文件反射
    内存数据库:Redis与Memcached的区别
    内存数据库:memcached与redis技术的对比试验
    【转】【涨姿势】支付宝怎么做风险控制?
  • 原文地址:https://www.cnblogs.com/top5/p/1625061.html
Copyright © 2020-2023  润新知