JSP图片上传 公共工具类
需要jsmartcom_zh_CN.jar支持. 下载地址: http://files.cnblogs.com/simpledev/jsmartcom_zh_CN.rar
<%@page import="com.bn.car.core.Constants"%>
<%@ page contentType="text/html;charset=UTF-8" language="java"
import="java.io.*,java.awt.Image,java.awt.image.*,com.sun.image.codec.jpeg.*,java.sql.*,com.jspsmart.upload.*,java.util.*"%> <%
String pageSource = request.getParameter("pageSource"); //定义接收的源页面,可以将该图片上传工具类独立抽象出来放入include文件夹中。 SmartUpload mySmartUpload = new SmartUpload(); long file_size_max = 4000000; String fileName2 = "", ext = "", testvar = ""; String url = ""; if(pageSource == "addparts" || pageSource.equals("addparts")){
url = Constants.PARTSPATH; //常量类定义上传目录
}else if(pageSource == "addcar2" || pageSource.equals("addcar2")){
url = Constants.CARPATH; //常量类定义上传目录
} //初始化
mySmartUpload.initialize(pageContext); //只允许上载此类文件
try {
mySmartUpload.setAllowedFilesList("jpg,gif");//此处的文件格式可以根据需要自己修改
//上载文件
mySmartUpload.upload();
} catch (Exception e) {
%> <SCRIPT language=javascript>
alert("只允许上传.jpg和.gif类型图片文件");
</script>
<%
} try {
com.jspsmart.upload.File myFile = mySmartUpload.getFiles().getFile(0);
if (myFile.isMissing()) {
%> <SCRIPT language=javascript>
alert("请先选择要上传的文件");
</script> <%
}
else {
ext = myFile.getFileExt(); //取得后缀名
int file_size = myFile.getSize(); //取得文件的大小
String saveurl = "";
if (file_size < file_size_max) {
//更改文件名,取得当前上传时间的毫秒数值
Calendar calendar = Calendar.getInstance();
String filename = String.valueOf(calendar.getTimeInMillis());
//图片上传地址
saveurl = Constants.ROOTPATH + url;
String pic_url = filename + "." + ext; //文件名+后缀
saveurl += pic_url; //保存路径 myFile.saveAs(saveurl, SmartUpload.SAVE_PHYSICAL); String ret = "alert('上传成功!');"; out.print("<script language=javascript>" + ret + "</script>"); //将新上传的图片放入到session中.
String picUrls = (String)session.getAttribute(pageSource + "_picUrls"); if(picUrls == null){
session.setAttribute(pageSource + "_picUrls",pic_url);
}else{
picUrls = pic_url + "," + picUrls; //以逗号分割. 新上传的在前面
session.setAttribute(pageSource + "_picUrls",picUrls);
} //转发,根据原来的页面判断去向。
if(pageSource == "addparts" || pageSource.equals("addparts")){
response.sendRedirect("../supply/addparts.jsp");
}else if(pageSource == "addcar2" || pageSource.equals("addcar2")){
response.sendRedirect("../caruser/addcar2.jsp");
} } } } catch (Exception e) {
e.printStackTrace();
out.print(e.toString()); }
%>
JSP图片上传 公共工具类的更多相关文章
- FTP上传-封装工具类
import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import ja ...
- ftp上传下载工具类
package com.taotao.utils; import java.io.File; import java.io.FileInputStream; import java.io.FileNo ...
- jsp图片上传
1.要实现图片上传,首先需要一个组件,这里我用的是smartupload.jar可以到这里下载http://download.csdn.net/detail/mengdecike/8279247 2. ...
- [xPlugin] smartupload jsp图片上传
URL:http://www.cnblogs.com/ISeeYouBlogs/p/jsp.html 1.要实现图片上传,首先需要一个组件,这里我用的是smartupload.jar可以到这里下载ht ...
- 博客图片上传picgo工具安装配置github图传使用
摘要 对于每一个写博客的人来说,图片是至关重要.这一路经历了多次图片的烦恼,之前选择了微博个人文章那里粘贴图片的方式上传,感觉也挺方便的.但是由于新浪的图片显示问题,如果header中不设置 标签就不 ...
- 高可用的Spring FTP上传下载工具类(已解决上传过程常见问题)
前言 最近在项目中需要和ftp服务器进行交互,在网上找了一下关于ftp上传下载的工具类,大致有两种. 第一种是单例模式的类. 第二种是另外定义一个Service,直接通过Service来实现ftp的上 ...
- Spring MVC文件上传下载工具类
import java.io.File; import java.io.IOException; import java.io.UnsupportedEncodingException; import ...
- java ftp上传文件 工具类
package com.learning.spboot.utils; import com.jcraft.jsch.*; import org.apache.commons.net.ftp.FTPCl ...
- java上传文件工具类
这个是之前整理之前所学时与使用java向邮箱发送邮件一块找到的,一起贴出来供大家参考: import java.awt.image.BufferedImage; import java.io.File ...
随机推荐
- easyUi学习备忘
1.获取datagrid的自身相关的属性方式: jQuery("#grid").datagrid("options").height jQuery(" ...
- Base Pattern基本模式_Gateway入口
•Gateway入口 ◦一个封装了对外部系统或资源访问的对象. ◾OO系统中,也需要访问一些不是对象的事物,DB表,XML,事务. ◾这些外部资源的API很复杂. ◾入口类对象将简单的方法调用转换成相 ...
- JavaScript、jQuery、HTML5、Node.js实例大全-读书笔记4
5.2.2 让瀑布流动起来 打好基建之后,就需要写JavaScript代码.首先如果数据不够显示一屏幕的情况,就用新数据来补足它,在补充的时候是根据4列中最矮的那一个为优先补充,因为高矮尺寸一般只有在 ...
- Java 字节流实现文件读写操作(InputStream-OutputStream)
Java 字节流实现文件读写操作(InputStream-OutputStream) 备注:字节流比字符流底层,但是效率底下. 字符流地址:http://pengyan5945.iteye.com/b ...
- [GeekBand]C++高级编程技术(2)
本篇笔记主要分为两个主要部分,第一部分关于对象模型,第二部分是关于new和delete的更加深入的学习. 一.对象模型 关于vptr(虚指针)和vtbl(虚函数表) 只要用到了虚函数,对象中就会多一个 ...
- int * const 与 const int * 的区别
type * const 与 const type * 是在C/C++编程中特别容易混淆的两个知识点,现在就以 int * const 和 const int * 为例来简略介绍一下这两者之间的区别. ...
- 十个最常见的Java字符串问题
翻译自:Top 10 questions of Java Strings 1.怎样比较字符串?用”==”还是用equals()? 简单地说,”==”测试两个字符串的引用是否相同,equals()测试两 ...
- 关闭MyEclipse代码编辑器(breadcrumb)工具条
1. 在工具栏上找“Toggle Breadcrumb”按钮,单击使其恢复未选中状态即可 2. 如果找不到这个按钮.通过菜单“Window->Customize Perspective”打开对话 ...
- struts2中constant参数设置
序号 方法 说明 1 <constant name="struts.i18n.encoding" value="UTF-8"/> 指定web应用默认 ...
- Android Audio Play Out Channel
1: 7嘴8舌 扬声器, 耳机, 和听筒 就是通过: audiomanager.setmode(AudioManager.MODE_IN_COMMUNICATION)audiomanager.setS ...