上传图片并生成缩略图

    /**
     * 上传图片并生成缩略图
     */
    private void uploadManImageFile(HttpServletRequest request, DataRecord domainMap) {
        if (!(request instanceof MultipartHttpServletRequest)) {
            return;
        }
        MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
        MultipartFile multipartFile = multipartRequest.getFile("domain.MAIN_IMAGE");
        if (null != multipartFile && !multipartFile.isEmpty()) {
            String id = domainMap.getString("ID");
            String oriFilePath = getFilePath() + "/" + id + ".png";
            String zoomFilePath = getFilePath() + "/_" + id + ".png";
            File oriFile = new File(oriFilePath);
            File zoomFile = new File(zoomFilePath);

            FileOutputStream zoomFOS = null;
            FileOutputStream oriFOS = null;
            try {
                oriFile.createNewFile();
                zoomFile.createNewFile();
                zoomFOS = new FileOutputStream(zoomFile);
                oriFOS = new FileOutputStream(oriFile);
                zoom(multipartFile.getInputStream(),oriFOS,zoomFOS, "png", 100, 100);
                //domainMap.put("MAIN_IMAGE",getFilePath() + "/_" + id + ".png");
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                try{
                    zoomFOS.close();
                }catch(Exception e){

                }
                try{
                    oriFOS.close();
                }catch(Exception e){

                }
            }
        }
    }

    /**
     * 生成原图和缩略图
     */
    private boolean zoom(InputStream sourceFileIs, OutputStream oriFOS, OutputStream zoomFOS, String suffix,
            int width, int height) throws IOException {
        BufferedImage readImage = ImageIO.read(sourceFileIs);
        Image image = readImage.getScaledInstance(width, height, Image.SCALE_SMOOTH);
        BufferedImage zoomImage = new BufferedImage(width, height, readImage.getType());
        Graphics gc = zoomImage.getGraphics();
        gc.drawImage(image, 0, 0, null);
        ImageIO.write(zoomImage, suffix, zoomFOS);
        ImageIO.write(readImage, suffix, oriFOS);
        return true;
    }
时间: 2025-01-03 16:07:03

上传图片并生成缩略图的相关文章

PHP.25-TP框架商城应用实例-后台1-添加商品功能、钩子函数、在线编辑器、过滤XSS、上传图片并生成缩略图

添加商品功能 1.创建商品控制器[C] /www.test.com/shop/Admin/Controller/GoodsController.class.php <?php namespace Admin\Controller; use Think\Controller; //后台添加商品功能控制器 class GoodsController extends Controller { //显示和处理表单 public function add() { //判断用户是否提交了表单(如果提交了,就

C#上传图片同时生成缩略图,控制图片上传大小。

1 #region 上传图片生成缩略图 2 /// <summary> 3 /// 上传图片 4 /// </summary> 5 /// <param name="sender"></param> 6 /// <param name="e"></param> 7 public void btnUpload_Click(object sender, EventArgs e) 8 { 9 //检查

asp.net上传图片并同时生成缩略图

<script language="VB" runat="server"> Sub UploadFile(sender As Object, e As EventArgs) If FileUp.PostedFile.ContentLength = 0 Then FileInfo.Visible = False Exit Sub Else FileInfo.Visible = True FDisplay1.Visible = True End If FSi

js无刷新上传图片,服务端有生成缩略图,剪切图片,iphone图片旋转判断功能

html: <form action="<{:AppLink('circle/uploadimg')}>" id="imageform" method="post" enctype="multipart/form-data">     <input name="photoimg" type="file" id="xwzx_f" style

上传图片生成缩略图

上传图片生成缩略图,原图和缩略图地址一样的时候缩略图会把原图覆盖掉 /// <summary> /// 生成缩略图 /// </summary> /// <param name="originalImagePath">源图路径(物理路径)</param> /// <param name="thumbnailPath">缩略图路径(物理路径)</param> /// <param name=

生成缩略图的PHP上传图片类

做图片类网站的朋友可能都有自己上传图片的方式方法.这里给大家介绍一个php上传图片类,它可以验证上传文件是否为图片,图片的格式是否是网站所接受的:还可以生成指定大小的缩略图.具体方法如下所示: <?phpclass UploadComponent { var $imageData = array(); var $destinationDir = NULL; var $thumbDestinationDir = NULL; var $imageSize = array(500,500); var

ASP组件AspJpeg(加水印)生成缩略图等使用方法

ASP组件AspJpeg(加水印)生成缩略图等使用方法 作者: 字体:[增加 减小] 类型:转载 时间:2012-12-17我要评论 ASPJPEG是一款功能相当强大的图象处理组件,用它可以轻松地做出图片的缩略图和为图片加上水印功能.下面简单介绍一下使用方法,需要的朋友可以了解下 一.为图片添加水印 复制代码 代码如下: <% Dim Jpeg ''''//声明变量 Set Jpeg = Server.CreateObject("Persits.Jpeg") ''''//调用组件

asp.net中使kindeditor自动生成缩略图

kindedtor编辑器,确实很好用,但是也有很多的不足,比如,我们经常用的图片上传功能,首页如果有图片新闻或者需要显示宿略图的时候,你会发现它并没有提供图片上传自动生成缩略图的功能 ,于是,花了一点时间,对它的上传图片的功能进行了改写,废话少说,直接上代码 图片上传功能调用的是:upload_json.ashx  代码如下 复制代码 using System; using System.Collections; using System.Web; using System.IO; using

html5 canvas 前端生成缩略图

html5 canvas 前端生成缩略图 更新: 2013/08/01: 解决了后面遇到的bug: 图片被压扁(IOS6); 图片被旋转; 整个源码放在: https://github.com/kairyou/html5-make-thumb 新方案需要后面实现的, 就是下面的旧版本里的功能(水印/是否强制拉伸以适应目标尺寸等功能). w3ctech长沙站交流会, 里面分享的PPT: http://www.slideshare.net/99leon/html5-create-thumbnail