jsp实现文件上传(一)用jspSmartUpload组件实现文件上传
java类(ImageUtil.java)
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException; import javax.imageio.ImageIO; public class ImageUtil {
private BufferedImage i = null;
/*
* 上传图片
* */
public void setImg(String imgpath) {
try {
this.i = ImageIO.read(new FileInputStream(imgpath));
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
} public ImageUtil() { } public ImageUtil(String imgpath) {
try {
this.i = ImageIO.read(new FileInputStream(imgpath));
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
/*
* 图片加水印文字
* */
public void txt(String s, int fontsize, String imgpath) {
Graphics g = this.i.getGraphics();
g.setFont(new Font("隶书", Font.BOLD, fontsize));
// g.setColor(Color.RED);
g.setColor(new Color(255, 255, 255, 80));
g.drawString(s, i.getWidth() - 200, this.i.getHeight() - fontsize - 10);
try {
ImageIO.write(this.i, "jpg", new File(imgpath));
} catch (IOException e) {
e.printStackTrace();
}
}
/*
* 图片加水印logo
* */
public void logo(String logopath, String imgpath) {
Graphics g = this.i.getGraphics();
try {
BufferedImage logo = ImageIO.read(new File(logopath));
g.drawImage(logo, this.i.getWidth() - 189 - 10,
this.i.getHeight() - 69 - 10, this.i.getWidth() - 10,
this.i.getHeight() - 10, 0, 0, logo.getWidth(),
logo.getHeight(), null);
ImageIO.write(this.i, "jpg", new File(imgpath));
} catch (IOException e) {
e.printStackTrace();
}
}
/*
* 缩略图
* */
public void thumd(int ww, int hh, String imgpath) { int w = this.i.getWidth(); int h = this.i.getHeight(); BufferedImage nimg = new BufferedImage(ww, hh, BufferedImage.TYPE_INT_RGB); Graphics g = nimg.getGraphics(); g.drawImage(this.i, 0, 0, ww, hh, 0, 0, w, h, null); try { ImageIO.write(nimg, "jpg", new File(imgpath)); } catch (IOException e) { e.printStackTrace(); } } }
使用上传照片在jsp中使用
SmartUpload su = new SmartUpload();
su.initialize(pageContext);
su.upload();
ImageUtil iu = new ImageUtil();
for(int i=0;i<su.getFiles().getCount();i++){
File f = su.getFiles().getFile(i);
if(f.isMissing()){
continue;
}
UUID u = UUID.randomUUID();
String path = "/upload/"+u.toString()+"."+f.getFileExt();
f.saveAs(path);
String pp = request.getServletContext().getRealPath(path);
iu.setImg(pp);
}
jsp实现文件上传(一)用jspSmartUpload组件实现文件上传的更多相关文章
- 【java】[文件上传jar包]commons-fileUpload组件解决文件上传(文件名)乱码问题
response.setContentType("text/html; charset=UTF-8"); Boolean isMultipart = ServletFileUpl ...
- 关于GC(上):Apache的POI组件导致线上频繁FullGC问题排查及处理全过程
某线上应用在进行查询结果导出Excel时,大概率出现持续的FullGC.解决这个问题时,记录了一下整个的流程,也可以作为一般性的FullGC问题排查指导. 1. 生成dump文件 为了定位FullGC ...
- vue 父组件给子组件传值 Vue父组件给子组件传方法 Vue父组件把整个实例传给子组件
Home.vue <template> <!-- 所有的内容要被根节点包含起来 --> <div id="home"> <v-header ...
- JSP+Servlet中使用jspsmartupload.jar进行图片上传下载
JSP+Servlet中使用cos.jar进行图片上传 upload.jsp <form action="FileServlet" method="post&quo ...
- jsp实现文件上传(二)用cos组件实现文件上传
jsp表单 <%@ page language="java" pageEncoding="utf-8"%> <html> <hea ...
- Struts2文件上传(基于表单的文件上传)
•Commons-FileUpload组件 –Commons是Apache开放源代码组织的一个Java子项目,其中的FileUpload是用来处理HTTP文件上传的子项目 •Commons-Fil ...
- ueditor1.4.3配置过程(包含单独上传文件以及图片的使用),ueditor1.4.3上传配置(转 http://www.bkjia.com/webzh/1001016.html)
这里使用的是ueditor1.4.3的jsp版本的UTF-8版本. 首先下载相应的ueditor,将ueditor文件夹直接拷贝到项目中,文件结构如下所示: 然后将项目要用的jar包导入到lib目录下 ...
- Java Web文件上传原理分析(不借助开源fileupload上传jar包)
Java Web文件上传原理分析(不借助开源fileupload上传jar包) 博客分类: Java Web 最近在面试IBM时,面试官突然问到:如果让你自己实现一个文件上传,你的代码要如何写,不 ...
- 使用commons-fileupload-1.2.1.jar等组件实现文件上传
使用的主要jar包:commons-io-1.3.2.jar包;commons-fileupload-1.2.1.jar包:commons-lang-2.3.jar,在使用组件实现文件上传时候要注意前 ...
随机推荐
- Android 学习笔记---获取RadioGroup的选定值
1,获取RadioGroup控件: RadioGroup radioGroup = (RadioGroup)findViewById(R.id.myRadioGroup); 2,获取RadioButt ...
- 算法 - 求两个自然数的最大公约数(C++)
//************************************************************************************************** ...
- 用C++实现约瑟夫环的问题
约瑟夫问题是个有名的问题:N个人围成一圈.从第一个開始报数,第M个将被杀掉,最后剩下一个,其余人都将被杀掉. 比如N=6,M=5.被杀掉的人的序号为5,4,6.2.3.最后剩下1号. 假定在圈子里前K ...
- 【转】Code Your Own PHP MVC Framework in 1 Hour
原文: https://www.codeproject.com/Articles/1080626/Code-Your-Own-PHP-MVC-Framework-in-Hour --------- ...
- Ubuntu搭建Android开发环境
前言 由于迁移到新的笔记本,所以Android开发环境须要又一次配置了.android官网有配置教程,我正好回想一遍 配置Java环境 下载jdk.官网地址:http://www.oracle.com ...
- Android 特别大的Activity和Fragment的生命周期图
这么 这么大的图.不做太多解释,哈哈,真的是棒棒的. 代码測试下载:http://download.csdn.net/detail/pcaxb/8906085
- HDU 5344 MZL's xor (多校)[补7月28]
MZL's xor Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total S ...
- 基于SpringMVC框架使用ECharts3.0实现折线图,柱状图,饼状图,的绘制(上篇)
页面部分 <%@ page language="java" pageEncoding="UTF-8"%> <!DOCTYPE html> ...
- 为activity添加左右手势识别
android开发中为activity添加左右手势识别.如右滑关闭当前页面 /* * for左右手势 * 1.复制以下的内容到目标Activity * 2.目标Activity的onCreate()调 ...
- 细谈SetButtonInfo函数及其用途
SetButtonInfo用于设置某个按钮,它的接口定义如下: 下面是它的几个接口函数说明: void CToolBar::SetButtonInfo(int nIndex, UINT nID, UI ...