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);
}
时间: 2024-10-13 18:11:18

jsp实现文件上传(一)用jspSmartUpload组件实现文件上传的相关文章

用jspSmartUpload组件实现文件上传、下载

jspSmartUpload组件,可从http://download.csdn.net/user/dearchuansir下载,压缩包的名字是jspSmartUpload.zip.下载后,将其解压到Tomcat的webapps目录下.解压后,将webapps/jspsmartupload目录下的子目录Web-inf名字改为全大写的WEB-INF,这样一改jspSmartUpload类才能使用.如果想让Tomcat服务器的所有Web应用程序都能用它,必须做如下工作: 1.进入命令行状态,将目录切换

关于GC(上):Apache的POI组件导致线上频繁FullGC问题排查及处理全过程

某线上应用在进行查询结果导出Excel时,大概率出现持续的FullGC.解决这个问题时,记录了一下整个的流程,也可以作为一般性的FullGC问题排查指导. 1. 生成dump文件 为了定位FullGC的原因,首先需要获取heap dump文件,看下发生FullGC时堆内存的分配情况,定位可能出现问题的地方. 1. 1 通过JVM参数自动生成 可以在JVM参数中设置-XX:+ HeapDumpBeforeFullGC参数. 建议动态增加这个参数,直接在线上镜像中增加一方面是要重新打包发布,另一方面

JSP+Servlet中使用jspsmartupload.jar进行图片上传下载

JSP+Servlet中使用cos.jar进行图片上传 upload.jsp <form action="FileServlet" method="post" enctype="multipart/form-data"> <input type="file" name="myfile"> <input type="text" name="cmt&q

jsp实现文件上传(二)用cos组件实现文件上传

jsp表单 <%@ page language="java" pageEncoding="utf-8"%> <html> <head> <title>My JSP 'index.jsp' starting page</title> </head> <body> <form action="cos.jsp" method="post" en

使用Commons FileUpLoad组件实现文件上传功能

Commons 是Apache开放的源码组织的一个java子项目,该项目主要涉及一些开发中常用的模块,如文件上传,命令行处理,数据库连接池等.FileUpLoad就是其中的一个用于处理HTTP文件上传的子项目.Commons FileUpLoad组建具有以下几个特点: 1.使用简单:Commons FileUpLoad组件可以方便的嵌入JSP文件中,在JSP文件中仅编写少量代码就可完成文件上传功能,十分方便. 2.能够全程控制上传的内容:使用Commons FileUpLoad组件提供的对象及操

Struts2文件上传(基于表单的文件上传)

•Commons-FileUpload组件 –Commons是Apache开放源代码组织的一个Java子项目,其中的FileUpload是用来处理HTTP文件上传的子项目 •Commons-FileUpload组件特点 –使用简单:可以方便地嵌入到JSP文件中,编写少量代码即可完成文件的上传功能 –能够全程控制上传内容 –能够对上传文件的大小.类型进行控制 •需要下载Common-FileUplaod框架地址(当然MyEclipce中Struts2支持里自带有这两个包): –http://jak

文件上传时,上传到webapps目录下的文件会自动删除

1:文件上传时,上传到webapps目录下的文件会自动删除的原因? tomcat目录下的webapps 文件夹是部署目录,当重新部署服务,上传的文件不在部署文件的范畴内,即此时开发工具中没有上传的文件,所以上传的文件就没有了. 2:解决方法 把文件上传路径设置到webapps目录之外,可以在Tomcat目录下建立一个文件夹,如:upload 3:简单实现 html文件: <!DOCTYPE html> <html> <head> <meta charset=&qu

使用commons-fileupload-1.2.1.jar等组件实现文件上传

使用的主要jar包:commons-io-1.3.2.jar包;commons-fileupload-1.2.1.jar包:commons-lang-2.3.jar,在使用组件实现文件上传时候要注意前后台的一致性,注意在后台定义File文件对象名要与jsp页面中的file标签name名字一致,前台form标签属性一定要设置为enctype="multipart/form-data",而且传输方式必须是post方式.不然后台不认为提交的是文件类型,而认为是普通表单的提交. 废话不多说看主

用Commons-FileUpload组件实现文件上传

一.用Commons-FileUpload组件实现文件上传 1.导入两个jar包 FileUpload下载地址: http://commons.apache.org/fileupload/ 下载:commons-fileupload-1.2.2-bin.zip    得到:commons-fileupload-1.2.2.jar http://commons.apache.org/io/ 下载:commons-io-1.4-bin.zip       得到:commons-io-1.4.jar