//servlet
request.setCharacterEncoding("UTF-8");
InputStream input = null;
FileOutputStream output = null;
// 创建磁盘工厂对象
DiskFileItemFactory factory = new DiskFileItemFactory();
// 对磁盘工厂对象的处理工具
ServletFileUpload upload = new ServletFileUpload(factory);
// 设置上传大小,最大3M
upload.setFileSizeMax(1024 * 1024 * 3);
// 从request中转换成文件对象列表
List<FileItem> items = upload.parseRequest(request);
for (FileItem item : items) {
// 判断是否是普通表单数据
if (item.isFormField()) {
// System.out.println(item.getFieldName());
// //文件名称设置编码格式,否则乱码
// System.out.println(item.getString("UTF-8"));
// System.out.println(item.getContentType());
// System.out.println(item.getSize());
} else {
// 得到上传的名字
String filename = item.getName();
System.out.println(filename);
// 处理上传文件路径
if (filename != null) {
filename = FilenameUtils.getName(filename);// 得到文件名+后缀
if(filename.lastIndexOf(".")==-1){
request.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();
out.println("您输入的图片为空");
return;
}
String type = filename.substring(filename.lastIndexOf("."));
System.out.println(type);
// 解决文件同名的问题
filename = UUID.randomUUID() + "_" + filename;
// 设置时间路径的目录
SimpleDateFormat dateFormate = new SimpleDateFormat("yyyy-MM-dd");
String datePath = dateFormate.format(new Date());
File file = new File(this.getServletContext().getRealPath("/WEB-INF/" +
datePath));
System.out.println(file);
if (!file.exists()) {
file.mkdirs();
}
// 上传到服务器
input = item.getInputStream();
output = new FileOutputStream(file + "/" + filename);
int len = 0;
byte[] b = new byte[1024];
while ((len = input.read(b)) != -1) {
output.write(b, 0, len);
}
}
}
//页面
<form action="up" enctype="multipart/form-data" method="post">
名称:<input type="text" name="fileName"/><p/>
图片:<input type="file" name="fileDate"/><p/>
图片:<input type="file" name="fileDate2"/>
<input type="submit" value="提交"/>
</form>
还没有评论,来说两句吧...