上传图片并且生成可以控制大小图片清晰度的方法

转载 2006年06月08日 15:29:00
private void Upload_Click(object sender, System.EventArgs e)
        {
            if(myFile.PostedFile !=null)
            {
                // 检查文件扩展名字
                HttpFileCollection files  = HttpContext.Current.Request.Files;
                HttpPostedFile postedFile = files[0];
                string fileName,fileExtension,file_id,file_path;

                //取出精确到毫秒的时间做文件的名称
                int year = System.DateTime.Now.Year;
                int month = System.DateTime.Now.Month;
                int day = System.DateTime.Now.Day;
                int hour = System.DateTime.Now.Hour;
                int minute = System.DateTime.Now.Minute;
                int second = System.DateTime.Now.Second;
                int millisecond = System.DateTime.Now.Millisecond;
                string my_file_id = year.ToString() + month.ToString() + day.ToString() + hour.ToString() + minute.ToString() + second.ToString() + millisecond.ToString();

                //获得文件类型
                fileName = System.IO.Path.GetFileName(postedFile.FileName);
                fileExtension = System.IO.Path.GetExtension(fileName);

                //重新命名文件,防止重复
                file_id = "topnews_"+my_file_id+fileExtension;
                file_path = "images/article_images/"+file_id;

                //文件上传到服务器的根目录
                postedFile.SaveAs(
Request.PhysicalApplicationPath+@"images/article_images/"+ file_id);

                //处理图片大小
                int width,height,level;
                width=120;
                height=90;
                level=100;//从1-100
                GetThumbnailImage(width,height,level,file_id);
            }
        }

        //生成缩略图函数
        public void GetThumbnailImage(int width,int height,int level,string file_id)
        {
            string newfile= Request.PhysicalApplicationPath+"images/article_images/"+"top_"+ file_id;
            System.Drawing.Image oldimage = System.Drawing.Image.FromFile(Request.PhysicalApplicationPath+"images/article_images/"+ file_id);
            System.Drawing.Image thumbnailImage = oldimage.GetThumbnailImage(width, height,new System.Drawing.Image.GetThumbnailImageAbort(ThumbnailCallback), IntPtr.Zero);
            Bitmap output=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(Encoder.Quality,(long)level);
            output.Save(newfile,ici,ep);

            //释放所有使用对象
            ep.Dispose();
            output.Dispose();
            oldimage.Dispose();
            thumbnailImage.Dispose();

            //删除源图片
            string file_path = "images/article_images/"+"top_"+file_id;
            usageIO.DeletePath(Request.PhysicalApplicationPath+"images/article_images/"+ file_id);
            Response.Write("<script >parent.Form1.A_Simg.value ='"+file_path+"';location.replace('Upload_Img.aspx')</script>");
        }

        bool ThumbnailCallback()
        {
            return false;
        }

上传图片并且生成可以控制大小图片清晰度的方法

private void Upload_Click(object sender, System.EventArgs e)        {            if(myFile.PostedFil...
  • ldw701
  • ldw701
  • 2006年06月08日 13:10
  • 700

javascript 限制上传图片大小

很多时候要限制上传图片大小,比如限制在100KB以下,用javascript可以实现。但是在使用img.filesize时,图片尺寸一大了就会返回-1,解决办法是在浏览选择好图片路径以后,加入一个默认...
  • leezenbc
  • leezenbc
  • 2007年10月31日 10:32
  • 8458

控制上传图片的大小

public static void MakeSmallImg(System.Web.HttpPostedFile postFile, string saveImg, System.Double Wi...
  • jilter2009
  • jilter2009
  • 2008年04月07日 15:19
  • 229

判断上传图片类型和大小

使用jQuery判断上传图片的类型和大小 图片格式为: 图片大小为: $(function(){ var p_1 = $('#p_1'), p_2 = $('#p_2...
  • kongjunchao159
  • kongjunchao159
  • 2016年03月10日 15:39
  • 1517

无参考图像的清晰度评价方法

无参考图像的清晰度评价方法   在无参考图像的质量评价中,图像的清晰度是衡量图像质量优劣的重要指标,它能够较好的与人的主观感受相对应,图像的清晰度不高表现出图像的模糊。本文针对无参考...
  • Real_Myth
  • Real_Myth
  • 2016年03月08日 16:06
  • 11890

检验上传图片大小、尺寸、类型的两种实现方案

做图片上传功能时,我们经常会遇到一个问题就是,就是要对上传的图片进行一个校验,校验的东西包括图片的大小、尺寸(即宽和高)以及图片的类型。 今天我主要介绍两种方式来进行图片的校验,一种是在前端用js校...
  • huohuotu
  • huohuotu
  • 2017年08月14日 15:43
  • 449

C#创建高质量(清晰)缩略图——动态调整大小

创建高质量(清晰)缩略图——动态调整大小 Bitmap类的GetThumbnailImage方法可以从指定的图像文件中生成缩略图,用法非常简单。但是并不总是这样,有时生成的缩略图的质量很差——模...
  • pj386960300
  • pj386960300
  • 2013年09月01日 21:54
  • 1258

创建 Js图片上传实现方法总结

图片上传是前端开发过程最常碰见的功能之一。现在有很多成熟的图片上传插件uploadify、file upload、 webuploader 等,除了这些HMTL5技术上也支持了这一需求,今天我们就来聊...
  • michaelli918
  • michaelli918
  • 2017年06月15日 18:07
  • 1523

html5上传图片限制大小

参考:http://www.linuxidc.com/Linux/2012-06/63635.htm html界面:type=“file”类型的jq:$('input[type=file]').ea...
  • qq_33386783
  • qq_33386783
  • 2016年04月06日 21:48
  • 2635

图像清晰度的评价及分析

在无参考图像的质量评价中,图像的清晰度是衡量图像质量优劣的重要指标,它能够较好的与人的主观感受相对应,图像的清晰度不高表现出图像的模糊。本文针对无参考图像质量评价应用,对目前几种较为常用的、具有代表性...
  • qq_26499769
  • qq_26499769
  • 2016年07月28日 17:54
  • 5656
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:上传图片并且生成可以控制大小图片清晰度的方法
举报原因:
原因补充:

(最多只允许输入30个字)