上传图片,并生成缩略图保存到数据库.

================================命名空间======================
<%@ Page Language="C#" %>
<%@ Import Namespace ="System.Data" %> 
<%@ Import Namespace =" System.IO" %>
<%@ Import Namespace ="System.Drawing.Imaging" %>
<%@ Import Namespace="System.Drawing" %>

================================保存函数======================

 private void SavePic()
    {
        int width = 130;//缩略图的宽度
        int height = 150;// 缩略图的高度
        int level = 100; //缩略图的质量 1-100的范围
        //被选择的原图路径
        string strPicPath = fupBigPic.PostedFile.FileName;
        string strFileName = DateTime.Now.ToString("yyyyMMddHHmmss")+"_大品牌汽车用品";
        string extendName = System.IO.Path.GetExtension(fupBigPic.FileName);

        try
        {
            System.Drawing.Image oldimage = System.Drawing.Image.FromFile(strPicPath);
            System.Drawing.Image thumbnailImage = oldimage.GetThumbnailImage(width, height, new System.Drawing.Image.GetThumbnailImageAbort(ThumbnailCallback), IntPtr.Zero);
            Bitmap bm = new Bitmap(thumbnailImage);

            //处理JPG质量的函数
            ImageCodecInfo[] codecs = ImageCodecInfo.GetImageEncoders();
            ImageCodecInfo ici = null;
            foreach (ImageCodecInfo codec in codecs) { if (codec.MimeType == "image/jpeg")ici = codec; }
            EncoderParameters ep = new EncoderParameters();

            ep.Param[0] = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, (long)level);

            //记下路径写到数据库
            strBigPic = "../Manager/Upload/Product/" + strFileName + extendName;
            fupBigPic.SaveAs(MapPath(strBigPic));
            strSmallPic ="../Manager/Upload/Product/" + strFileName + "_Small" + extendName;
            bm.Save(MapPath(strSmallPic), ici, ep);           
        }
        catch
        {
            throw;
        }
    }

    bool ThumbnailCallback()
    {
        return true;
    }

转载于:https://www.cnblogs.com/michaelowenii/archive/2005/09/25/243833.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值