图片上传到后,会根据情况将图片缩小成一个图标,我们可以利用java强大的图形处理功能,对上传的图片进行缩放处理。

下面的程序使用jdk1.4中最新的ImageIO对图片进行读写。使用AffineTransform对图片进行缩放。

import java.io.File;

import java.awt.image.BufferedImage;

import java.awt.Image;

import java.awt.image.AffineTransformOp;

import javax.imageio.ImageIO;

import java.awt.geom.AffineTransform;

public class UploadImg{

/**

* @param fromdir 图片的原始目录

* @param todir 处理后的图片存放目录

* @param imgfile 原始图片

* @param sysimgfile 处理后的图片文件名前缀

*

*/

……

public boolean CreateThumbnail() throws Exception

{

//ext是图片的格式 gif JPG 或png

String ext="";

double Ratio=0.0;

File F = new File(fromdir,imgfile);

if (!F.isFile())

throw new Exception(F+" is not image file error in CreateThumbnail!");

//首先判断上传的图片是gif还是JPG ImageIO只能将gif转换为png

if (isJpg(imgfile)){

ext="jpg";

}else{

ext="png";

}

File ThF = new File(todir,sysimgfile+"."+ext);

BufferedImage Bi = ImageIO.read(F);

//假设图片宽 高 最大为120 120

Image Itemp = Bi.getScaledInstance (120,120,Bi.SCALE_SMOOTH);

if ((Bi.getHeight()>120) || (Bi.getWidth()>120)){

if (Bi.getHeight()>Bi.getWidth())

Ratio = 120.0/Bi.getHeight();

else

Ratio = 120.0/Bi.getWidth();

}

AffineTransformOp op = new AffineTransformOp(AffineTransform.getScaleInstance(Ratio, Ratio), null);

Itemp = op.filter(Bi, null);

try {

ImageIO.write((BufferedImage)Itemp, ext, ThF);

}catch (Exception ex) {

throw new Exception(" ImageIo.write error in CreatThum.: "+ex.getMessage());

}

return (true);

}

}

该程序使用了 的AWT,在下运行可能报错,有两种解决方式:

(1) jdk1.4以前版本:需要安装 XFree86和XFree86-Xvfb ,加入 export DISPLAY=hostdomain:0.0

(2) jdk 1.4以后版本,在执行命令java 加入参数-Djava.awt.headless=true,表示这是一个没有键盘 没有显示器的无头,意称机房托管的服务器。

【责编:John】

--------------------next---------------------

java 上传的图片大小为0_JAVA技术:上传图片的缩放处理相关推荐

  1. JAVA上传文件图片到服务器保存

    这里我记录一个比较简单方便操作的JAVA上传文件图片到服务器并且保存! 首先是页面 html的   我这是提交一个文件和类型 <div style="border: 1px solid ...

  2. MobaXterm上传文件后大小为0kb或者非常大

    原因: 本地文件所在的绝对路径里有中文 解决: 文件放桌面或者把路径里的中文改掉再上传 如果路径中没有中文还是不行的话,点开session 建一个sftp连接,ip,用户,端口和密码都和ssh连接一样 ...

  3. java上传文件图片到服务器保存,Java上传文件图片到服务器的方法

    这里我记录一个比较简单方便操作的java上传文件图片到服务器并且保存,具体内容如下 首先是页面html的   我这是提交一个文件和类型 我是添加一张临时图片得到微信的media_id保存数据库! en ...

  4. java 上传断点续传_JAVA大文件上传断点续传解决方案

    javaweb上传文件 上传文件的jsp中的部分 上传文件同样可以使用form表单向后端发请求,也可以使用 ajax向后端发请求 1.通过form表单向后端发送请求 Save 改进后的代码不需要for ...

  5. java上传文件图片

    别忘记更换包名 注意需要下载两个包 apache官网下载即可 java页面 package com.jdbc.servlet;import java.io.File; import java.io.F ...

  6. java 上传远程图片,java上传图片到另一台服务器上,怎么解决

    Java codepublic String upload(String dir, FormFile formFile) throws Exception { Date date = new Date ...

  7. java 微信开发图片发送,微信开发?Java上传Base64图片

    class="java">import org.apache.commons.codec.binary.Base64; import org.apache.log4j.Log ...

  8. java上传png_java图片上传

    1 /***2 * 上传证明材料3 *@paramfiles4 *@paramrequest5 *@return 6 */ 7 @RequestMapping(value = "/bitch ...

  9. php 显示要上传的图片格式,php判断文件上传图片格式的实例详解

    php判断文件上传图片格式的实例详解 判断文件图片类型, $type = $_FILES['image']['tmp_name'];//文件名 //$type = $this->getImage ...

最新文章

  1. 不止临床应用,AI还要帮不懂编程的医生搞科研
  2. 记录一下halcon例程报错和两个视觉库感兴趣区域绘制
  3. UVA-10212 The Last Non-zero Digit. 分解质因子+容斥定理
  4. 崛起于Springboot2.X之前端模版freemaker(23)
  5. cpu风扇一会转一会停_宝宝不能吹电风扇?空调PK电风扇,到底该Pick谁啊啊啊!...
  6. 【论文学习】ICLR2021,鲁棒早期学习法:抑制记忆噪声标签ROBUST EARLY-LEARNING: HINDERING THE MEMORIZATION OF NOISY LABELS
  7. lamba List 转 Map
  8. Oracle %rowtype的用法
  9. Spring AOP事务管理(使用切面把事务管理起来)
  10. 计算机二级c语言考试真题及答案详解,计算机二级c语言试题及答案
  11. python 读取元组对的key_Python基本认识基本类型
  12. ai人工智能让女神_让女孩进入人工智能管道
  13. SAE J1939 协议源代码分析(二)-程序移植
  14. ROS主从机通信经验总结
  15. 在Ubuntu 10上使用D-Link DWA 130无线网卡
  16. android游戏手柄怎么用,王者荣耀怎么用手柄玩?手柄游戏详细教程
  17. Microsoft Visual SourceSafe 2005 服务端安装配置过程以及出现的问题,以及解决方法!...
  18. lammps+colvars计算PMF
  19. Kubeedge实现原理
  20. Bitmap的加载和Cache

热门文章

  1. AndroidStudio脚本命令指定AAR生成目录与版本号
  2. XDOC Office Server 开源了,Office文档完美转换为PDF
  3. 第五次作业:四则运算之升级
  4. 新疆弃光量下降14% 弃光问题仍然难解
  5. 匹夫细说C#:委托的简化语法,聊聊匿名方法和闭包
  6. 使用dom4j解析XML例子
  7. hdu 1879 继续畅通工程
  8. 【中文】Joomla1.7扩展介绍之Fabrik (强大的表单处理能力)
  9. MyBatis的扩展点(plugins)
  10. 016-热更新之FishingJoy一