,www.0-577.com欢迎您的加入。
jsp实现将图片与文字同时上传
jsp实现将图片与文字同时上传
首先,我们要准备两个上传所需要的包
commons-fileuoload-1.3.1.jar
commons-io-2.4.jar
记得把包导入项目
这是Java类
FileUpload.java
package fileupload;
import java.io.File;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
public class FileUpload {
public void doGet(HttpServletRequest request, HttpServletResponse response){
DiskFileItemFactory factory = new DiskFileItemFactory();//建立一个新的文件上传句柄
File dir = new File("E:/upload");//上传文件的存放位置
factory.setRepository(dir);// 设置存放临时文件的目录
ServletFileUpload upload = new ServletFileUpload(factory);// 用以上工厂实例化上传组件
List list = null;
try {
list = upload.parseRequest(request);
} catch (FileUploadException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}//从request得到所有上传域的列表
Iterator iter = list.iterator();// 得到所有上传的文件
while (iter.hasNext()) {//循环处理所得到的的文件信息
FileItem item = (FileItem)iter.next();
if(item.isFormField())
{
if ("text".equals(item.getFieldName())) {
//获取表单文本域数据
String text;
try {
text = item.getString("gb2312");
request.setAttribute("text", text);
} catch (UnsupportedEncodingException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}
}
//处理文件
else
{
String filedname = item.getFieldName();
String filename = item.getName();
long size = item.getSize();
if ((filename == null || filename.equals("")) && size == 0) {
continue;
}
if (filedname.equals("file1")) {
String name1 = filename;
//时间格式化格式
SimpleDateFormat simpleDateFormat =new SimpleDateFormat("yyyyMMddHHmmssSSS");
//获取当前时间并作为时间戳
String timeStamp=simpleDateFormat.format(new Date());
//拼接新的文件名
String file1 =timeStamp+name1;
request.setAttribute("file1", file1);
// session.setAttribute("file1", file1)
try {
item.write(new File(dir, file1));
} catch (Exception e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}
if (filedname.equals("file2")) {
String name2 = filename;
//时间格式化格式
SimpleDateFormat simpleDateFormat =new SimpleDateFormat("yyyyMMddHHmmssSSS");
//获取当前时间并作为时间戳
String timeStamp=simpleDateFormat.format(new Date());
//拼接新的文件名
String file2 =timeStamp+name2;
request.setAttribute("file2", file2);
try {
item.write(new File(dir, file2));
} catch (Exception e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}
if (filedname.equals("file3")) {
String name3 = filename;
//时间格式化格式
SimpleDateFormat simpleDateFormat =new SimpleDateFormat("yyyyMMddHHmmssSSS");
//获取当前时间并作为时间戳
String timeStamp=simpleDateFormat.format(new Date());
//拼接新的文件名
String file3 =timeStamp+name3;
request.setAttribute("file3", file3);
try {
item.write(new File(dir, file3));
} catch (Exception e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}
if (filedname.equals("file4")) {
String name4 = filename;
//时间格式化格式
SimpleDateFormat simpleDateFormat =new SimpleDateFormat("yyyyMMddHHmmssSSS");
//获取当前时间并作为时间戳
String timeStamp=simpleDateFormat.format(new Date());
//拼接新的文件名 Exness
String file4 =timeStamp+name4;
request.setAttribute("file4", file4);
try {
item.write(new File(dir, file4));
} catch (Exception e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}
if (filedname.equals("file5")) {
String name5 = filename;
//时间格式化格式
SimpleDateFormat simpleDateFormat =new SimpleDateFormat("yyyyMMddHHmmssSSS");
//获取当前时间并作为时间戳
String timeStamp=simpleDateFormat.format(new Date());
//拼接新的文件名
String file5 =timeStamp+name5;
request.setAttribute("file5", file5);
try {
item.write(new File(dir, file5));
} catch (Exception e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}
if (filedname.equals("file6")) {
String name6 = filename;
//时间格式化格式
SimpleDateFormat simpleDateFormat =new SimpleDateFormat("yyyyMMddHHmmssSSS");
//获取当前时间并作为时间戳
String timeStamp=simpleDateFormat.format(new Date());
//拼接新的文件名
String file6 =timeStamp+name6;
request.setAttribute("file6", file6);
try {
item.write(new File(dir, file6));
} catch (Exception e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}
}}
}
}
然后是上传页面
form里method是post
一定要加上enctype=“multipart/form-data”
index.jsp
接着是处理页面add.jsp
${text }
${file1 }
${file2 }
${file3 }
${file4 }
${file5 }
${file6 }
上传成功!
0
收藏
版权声明
本文仅代表作者观点,
不代表本站欧博网址的立场。
本文系作者授权发表,未经许可,不得转载。
评论
ALLBET官网官方注册
回复欧博官网手机欢迎进入欧博官网手机(Allbet Game):www.aLLbetgame.us,欧博官网是欧博集团的官方网站。欧博官网开放Allbet注册、Allbe代理、Allbet电脑客户端、Allbet手机版下载等业务。我的心上文,嘿嘿
Allbet官网
回复@ALLBET官网官方注册 www.allbetgaming.com欢迎进入欧博平台网站(www.aLLbetgame.us),www.aLLbetgame.us开放欧博平台网址、欧博注册、欧博APP下载、欧博客户端下载、欧博游戏等业务。好久没看这种的了
电银付加盟
回复欧博注册网址www.sunbet.us欢迎进入欧博网址(Allbet Gaming),欧博网址开放会员注册、代理开户、电脑客户端下载、苹果安卓下载等业务。我要磕cp了
皇冠足球
回复继“网上卖房”,“恒房通全民售房”、“78折钜惠”之后,恒大再放大招:3月18日,恒大重磅宣布,参与“网上卖房”活动的619个楼盘所有优惠房源价格将在“恒房通”全面公开,让人们真正做到明明白白购房。我要给你天天赞