java 上传的图片大小为0_JAVA技术:上传图片的缩放处理
图片上传到后,会根据情况将图片缩小成一个图标,我们可以利用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技术:上传图片的缩放处理相关推荐
- JAVA上传文件图片到服务器保存
这里我记录一个比较简单方便操作的JAVA上传文件图片到服务器并且保存! 首先是页面 html的 我这是提交一个文件和类型 <div style="border: 1px solid ...
- MobaXterm上传文件后大小为0kb或者非常大
原因: 本地文件所在的绝对路径里有中文 解决: 文件放桌面或者把路径里的中文改掉再上传 如果路径中没有中文还是不行的话,点开session 建一个sftp连接,ip,用户,端口和密码都和ssh连接一样 ...
- java上传文件图片到服务器保存,Java上传文件图片到服务器的方法
这里我记录一个比较简单方便操作的java上传文件图片到服务器并且保存,具体内容如下 首先是页面html的 我这是提交一个文件和类型 我是添加一张临时图片得到微信的media_id保存数据库! en ...
- java 上传断点续传_JAVA大文件上传断点续传解决方案
javaweb上传文件 上传文件的jsp中的部分 上传文件同样可以使用form表单向后端发请求,也可以使用 ajax向后端发请求 1.通过form表单向后端发送请求 Save 改进后的代码不需要for ...
- java上传文件图片
别忘记更换包名 注意需要下载两个包 apache官网下载即可 java页面 package com.jdbc.servlet;import java.io.File; import java.io.F ...
- java 上传远程图片,java上传图片到另一台服务器上,怎么解决
Java codepublic String upload(String dir, FormFile formFile) throws Exception { Date date = new Date ...
- java 微信开发图片发送,微信开发?Java上传Base64图片
class="java">import org.apache.commons.codec.binary.Base64; import org.apache.log4j.Log ...
- java上传png_java图片上传
1 /***2 * 上传证明材料3 *@paramfiles4 *@paramrequest5 *@return 6 */ 7 @RequestMapping(value = "/bitch ...
- php 显示要上传的图片格式,php判断文件上传图片格式的实例详解
php判断文件上传图片格式的实例详解 判断文件图片类型, $type = $_FILES['image']['tmp_name'];//文件名 //$type = $this->getImage ...
最新文章
- 不止临床应用,AI还要帮不懂编程的医生搞科研
- 记录一下halcon例程报错和两个视觉库感兴趣区域绘制
- UVA-10212 The Last Non-zero Digit. 分解质因子+容斥定理
- 崛起于Springboot2.X之前端模版freemaker(23)
- cpu风扇一会转一会停_宝宝不能吹电风扇?空调PK电风扇,到底该Pick谁啊啊啊!...
- 【论文学习】ICLR2021,鲁棒早期学习法:抑制记忆噪声标签ROBUST EARLY-LEARNING: HINDERING THE MEMORIZATION OF NOISY LABELS
- lamba List 转 Map
- Oracle %rowtype的用法
- Spring AOP事务管理(使用切面把事务管理起来)
- 计算机二级c语言考试真题及答案详解,计算机二级c语言试题及答案
- python 读取元组对的key_Python基本认识基本类型
- ai人工智能让女神_让女孩进入人工智能管道
- SAE J1939 协议源代码分析(二)-程序移植
- ROS主从机通信经验总结
- 在Ubuntu 10上使用D-Link DWA 130无线网卡
- android游戏手柄怎么用,王者荣耀怎么用手柄玩?手柄游戏详细教程
- Microsoft Visual SourceSafe 2005 服务端安装配置过程以及出现的问题,以及解决方法!...
- lammps+colvars计算PMF
- Kubeedge实现原理
- Bitmap的加载和Cache