图片上传判断width 等比例压缩

原创 2011年01月19日 14:51:00

HttpPostedFile oFile = Request.Files["NewFile"];

            // Check if the file has been correctly uploaded
            if (oFile == null || oFile.ContentLength == 0 || !(Convert.ToInt32(HttpContext.GetGlobalResourceObject("SystemInfo", "OpenFileup")) == 1))
            {
                SendResults(202);
                return;
            }

            int iErrorNumber = 0;
            string sFileUrl = "";

            // Get the uploaded file name.
            string sFileName = System.IO.Path.GetFileName(oFile.FileName).Substring(System.IO.Path.GetFileName(oFile.FileName).LastIndexOf(".") + 1).ToLower();
            string TypeName = HttpContext.GetGlobalResourceObject("SystemInfo", "UpfileTypeSettings").ToString();

            if (!TypeName.Contains(sFileName) ||
                oFile.ContentLength >= Convert.ToInt32(HttpContext.GetGlobalResourceObject("SystemInfo", "MaxFileLengthSettingsKB")) * 1024)
                //文件类型判断  文件大小验证
            {
                SendResults(202);
                return;
            }

           

            int iCounter = 0;

            while (true)
            {
                //判断文件是否可以上传
                if (CheckUploadFileExtension(sFileName))
                {
                    string sFilePath = System.IO.Path.Combine(this.UserFilesDirectory, sFileName);

                    if (System.IO.File.Exists(sFilePath))
                    {
                        iCounter++;
                        sFileName =
                            System.IO.Path.GetFileNameWithoutExtension(oFile.FileName) +
                            "(" + iCounter + ")" +
                            System.IO.Path.GetExtension(oFile.FileName);

                        iErrorNumber = 201;
                    }
                    else
                    {
                        if (TypeName.Contains(".gif") || TypeName.Contains(".jpg") || TypeName.Contains("bmp") || TypeName.Contains("png"))
                        {
                            System.Drawing.Image image = System.Drawing.Image.FromStream(oFile.InputStream);

                            int width = image.Width;
                            int height = image.Height;

                            int max = Convert.ToInt32(HttpContext.GetGlobalResourceObject("SystemInfo", "ImageMaxWidth"));
                            if (width > max)
                            {
                                try
                                {
                                    System.Drawing.Image newPic; //定义新位图对象
                                    //String picPath = path + userID + time + fileExtension;
                                    if (width > height)
                                    {
                                        newPic = new Bitmap(image, max, height * max / width); //缩放
                                    }
                                    else
                                    {
                                        newPic = new Bitmap(image, width * max / height, max); //缩放
                                    }
                                    newPic.Save(sFilePath, System.Drawing.Imaging.ImageFormat.Bmp); //将处理后的图片保存成bmp文件
                                    sFileUrl = this.UserFilesPath + sFileName;
                                    break;
                                }
                                catch
                                {
                                }
                            }
                        }

                        oFile.SaveAs(sFilePath);
                        sFileUrl = this.UserFilesPath + sFileName;
                        break;
                    }
                }
                else
                {
                    //不允许上传
                    SendResults(202);
                    break;
                }
            }

            SendResults(iErrorNumber, sFileUrl, sFileName);

上传 图片 等比例压缩

提到从摄像头/相册获取图片是面向终端用户的,由用户去浏览并选择图片为程序使用。在这里,我们需要过UIImagePickerController类来和用户交互。 使用UIImagePickerCo...
  • Calvin_CN
  • Calvin_CN
  • 2016年04月05日 09:21
  • 411

移动端实现图片压缩上传

图片压缩上传
  • xzmn_123
  • xzmn_123
  • 2016年07月09日 17:22
  • 853

上传等比例压缩图片

/** * 上传文件到CDN,必须在upload目录 * rsync_upload.pass 文件owner必须为www-data,权限必须为600 * @param $upload_relat...
  • u012885438
  • u012885438
  • 2017年07月27日 16:49
  • 68

LocalResizeIMG+asp.net实现图片压缩上传

LocalResizeIMG+asp.net实现图片压缩上传
  • u012367495
  • u012367495
  • 2015年05月13日 12:44
  • 2982

Web Uploader图片压缩解决办法方案

官方说明 http://fex.baidu.com/webuploader/doc/index.html#WebUploader_Uploader_options compress {Obje...
  • cplvfx
  • cplvfx
  • 2017年06月02日 11:26
  • 2318

java指定宽度等比例压缩图片

最近做项目需要用到图片压缩技术,在这里整理下做个分享。 需要注意的是如果要压缩的图片太大,就需要修改JDK的默认内存了。废话不多说,直接上代码。 import java.aw...
  • u012500848
  • u012500848
  • 2016年03月31日 14:33
  • 902

PHP 按一定比例压缩图片,保持清晰度

图片压缩是我们日常开发中经常使用的操作,在如今需求很多的情况往往,上传的一张图片会被压缩成不同比例的图片,每次去操作也是一件非常繁琐的事情,于是进行了封装了一个压缩图片的操作类,希望大家遇到后,不用再...
  • gaoxuaiguoyi
  • gaoxuaiguoyi
  • 2015年11月02日 21:13
  • 10416

安卓中两种压缩图片详解(比例压缩与质量压缩)

在提图片压缩之前,我先总结下图片的三种常见格式:JPEG,JPG,PNG  Jpeg格式   与jpg格式相似,经常在拷相片的时候看到得,但我们制作图片的时候一般是保存jpg,该种图片格式是文件相...
  • startCrazyActivity
  • startCrazyActivity
  • 2016年09月11日 17:45
  • 1267

java 使用Thumbnailator 上传图片 并压缩图片大小

http://www.cnblogs.com/miskis/p/5500822.html java 上传图片 并压缩图片大小 Thumbnailator 是一个优秀的图片处...
  • u014401141
  • u014401141
  • 2016年11月29日 12:51
  • 4282

处理页面加载图片js(等比例压缩图片)

第一页面html  ${answer.content}  ${answer.content} 第二循环压缩${answer.content}内容中的大图片 jQuery(fu...
  • SJian123
  • SJian123
  • 2014年07月31日 14:12
  • 2343
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:图片上传判断width 等比例压缩
举报原因:
原因补充:

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