日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

ASP.NET使用数据库存储、读取并修改图片

發(fā)布時間:2024/7/19 asp.net 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ASP.NET使用数据库存储、读取并修改图片 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
在SQL SERVER中建立這樣結(jié)構(gòu)的一個表:

列名類型目的
IDInteger主鍵ID
IMGTITLEVarchar(50)圖片的標題
IMGTYPEVarchar(50)圖片類型. ASP.NET要以辨認的類型
IMGDATAImage用于存儲二進制數(shù)據(jù)

?

==============================================================================================?????using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Drawing;
using System.Drawing.Imaging;
using System.Drawing.Drawing2D;
using System.Data.SqlClient;
using System.IO;

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

??? }

??????? private int width;
??????? private int height;
??????? private Bitmap newpic, savepic;
??????? private float k1, k2;

??????? /// <summary>
??????? /// 構(gòu)造函數(shù)
??????? /// </summary>
??????? public ChangeImageSize()
??????? {
??????? }
??????????????

??????? /// <summary>
??????? /// 傳入一張圖片,并設(shè)定它的大小
??????? /// </summary>
??????? /// <param name="TheImage">傳入的圖片對象</param>
??????? /// <param name="TheWidth">圖片寬的范圍</param>
??????? /// <param name="TheHeight">圖片長的范圍</param>
??????? /// <param name="path">保存的文件名和路徑</param>
??????? public Bitmap ChangePicMethod(object TheImage, int TheWidth, int TheHeight)
??????? {
??????????? newpic = new Bitmap((System.Drawing.Image)TheImage);
??????????? this.width = newpic.Width;
??????????? this.height = newpic.Height;

??????????? k1 = (float)width / (float)TheWidth;
??????????? k2 = (float)height / (float)TheHeight;
??????????? if (k1 > k2)
??????????? {
??????????????? this.width = (int)(width / k1);
??????????????? this.height = (int)(height / k1);
??????????? }
??????????? else
??????????? {
??????????????? this.width = (int)(width / k2);
??????????????? this.height = (int)(height / k2);
??????????? }
??????????? savepic = new Bitmap(newpic, width, height);
??????????? return savepic;
??????????? //savepic.Save(@path);
??????? }

??? /// <summary>
??? /// 保存圖片到數(shù)據(jù)庫
??? /// </summary>
??? /// <returns></returns>
??????? private bool StoreImage()
??????? {
??????????? bool rs = false;
??????????? Stream imgdatastream = this.FileUpload1.PostedFile.InputStream;
??????????? int imgdatalen = this.FileUpload1.PostedFile.ContentLength;
??????????? string imgtype = this.FileUpload1.PostedFile.ContentType;
??????????? string imgtitle =FileUpload1.PostedFile.FileName;
??????????? // byte[] imgdata = new byte[imgdatalen];
??????????? //int n = imgdatastream.Read(imgdata, 0, imgdatalen);
??????????? //Bitmap bp = ChangePicToSaveMethod(imgdatastream, 200, 200);
???????????
??????????? MemoryStream ms = new MemoryStream();
??????????? Bitmap bp = new Bitmap(imgdatastream);
??????????? bp = ChangePicMethod(bp, 200, 200);
??????????? //bp=bp.GetThumbnailImage(200,200,new System.Drawing.Image.GetThumbnailImageAbort(aa()) ,System.IntPtr.Zero);
??????????? bp.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
??????????? ms.Flush();
??????????? byte[] imgdata = ms.GetBuffer();
??????????? ms.Close();??

??????????? SqlConnection connection = Connection.getConnection();
??????????? SqlCommand command = new SqlCommand("INSERT INTO ImageStore(ImageTitle,ImageType,ImageData)VALUES ( @imgtitle, @imgtype,@imgdata )", connection);

??????????? SqlParameter paramTitle = new SqlParameter("@imgtitle", SqlDbType.VarChar, 50);

??????????? paramTitle.Value = imgtitle;
??????????? command.Parameters.Add(paramTitle);

??????????? SqlParameter paramData = new SqlParameter("@imgdata", SqlDbType.Image);
??????????? paramData.Value = imgdata;
??????????? command.Parameters.Add(paramData);

??????????? SqlParameter paramType = new SqlParameter("@imgtype", SqlDbType.VarChar, 50);
??????????? paramType.Value = imgtype;
??????????? command.Parameters.Add(paramType);

??????????? connection.Open();
??????????? int numRowsAffected = command.ExecuteNonQuery();
??????????? connection.Close();
??????????? rs = true;
??????????? return rs;
??????? }
??? /// <summary>
??? /// 從數(shù)據(jù)庫取出圖片
??? /// </summary>
??? /// <param name="sender"></param>
??? /// <param name="e"></param>
??????? private void GetImage(string imgid)
??????? {
??????????? string sql = "SELECT ImageData, ImageType FROM ImageStore WHERE ID = " + imgid;
??????????? SqlConnection connection = Connection.getConnection();
??????????? SqlCommand command = new SqlCommand(sql, connection);
??????????? connection.Open();
??????????? SqlDataReader dr = command.ExecuteReader();
??????????? if (dr.Read())
??????????? {
??????????????? Response.ContentType = dr["ImageType"].ToString();
??????????????? Response.BinaryWrite((byte[])dr["ImageData"]);
??????????? }
??????????? connection.Close();

??????? }

?

}

轉(zhuǎn)載于:https://www.cnblogs.com/carekee/articles/2083425.html

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎

總結(jié)

以上是生活随笔為你收集整理的ASP.NET使用数据库存储、读取并修改图片的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。