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,在使用组件实现文件上传时候要注意前 ...
随机推荐
- 基于源码学习-fighting
今天逛着逛着,看到个培训网站,点进去和客服人员聊了一下.接着,看了看他们的培训课程,想了解一下 嵌入式开发的. (人就是要放空自己,把自己当做什么都不会,当着个婴儿[小学生]一般认真,要学什么知识就是 ...
- UITabBarController ---- 标签视图控制器
直接上代码: // // AppDelegate.m // // #import "AppDelegate.h" #import "RootViewController. ...
- 【Hibernate】(2)Hibernate配置与session、transaction
1. Hibernate经常使用配置 使用hibernate.default_schema属性能够让全部生成的表都带一个指定的前缀. 2. session简单介绍 不建议直接使用jdbc的connec ...
- react 实现pure render的时候,bind(this)隐患
react 实现pure render的时候,bind(this)隐患 export default class Parent extends Component { ... render() { c ...
- Android中怎样自己制作su
本文原博客:http://hubingforever.blog.163.com/blog/static/171040579201372915716149/ 在Android源代码的system\ext ...
- iOS文件的管理(添加,删除,拷贝,移动)
#import "ViewController.h" @implementation ViewController - (void)viewDidLoad { [super vie ...
- 使用 Docker 在 Linux 上托管 ASP.NET Core 应用程序
说在前面 在阅读本文之前,您必须对 Docker 的中涉及的基本概念以及常见命令有一定了解,本文侧重实战,不会对相关概念详述. 同时请确保您本地开发机器已完成如下安装: Docker 18.06 或更 ...
- PHP生成excel(1)
先到PHPExcel官网下载PHPExcel类 http://phpexcel.codeplex.com/ 把excel类包含进来,然后直接使用 <?php require "./PH ...
- 深入理解JVM:HotSpot虚拟机对象探秘
对象的创建 java是一门面向对象的语言.在Java程序执行过程中无时无刻有Java对象被创建出来.在语言层面上,创建对象(克隆.反序列化)一般是一个newkeyword而已,而在虚拟机中,对象的创建 ...
- Web 监听器
什么事web 监听器? Servlet规范中定义的一种特殊类 用于监听ServletContext.HttpSession和ServletRequest等象的创建与销毁的事件 用监听域对象的属性发生修 ...