java web 文件上传
来源:互联网 发布:中科院软件所 出国 编辑:程序博客网 时间:2024/05/22 03:56
编写servlet类
import java.io.File;
import java.io.IOException;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
//导入的包围apache。commons中的
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileItemFactory;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
/**
* Servlet implementation class FileServlet
*/
@WebServlet("/FileServlet")
public class FileServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//设置编码格式
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
//判断提交过来的form表单mime编码是否为multipart/form-data格式
boolean isMultiPart = ServletFileUpload.isMultipartContent(request);
if(isMultiPart){//mime编码为multipart/form-data
try {
//实例化一个ServletFileUpload对象(通过工厂创建)
FileItemFactory fileItemFactory = new DiskFileItemFactory();
ServletFileUpload fileUpload = new ServletFileUpload(fileItemFactory);
//解析form表单中的所有文件,返回一个List(存放FileItem元素)
List<FileItem> ItemList = fileUpload.parseRequest(request);
for (FileItem fileItem : ItemList) {//遍历
//判断表单类型
if(fileItem.isFormField()){//普通表单字段
//接受普通表单
//取出表单中name为bookname的字段
if("bookname".equals(fileItem.getName())){
String bookName = fileItem.getString("utf-8");
System.out.println(bookName);
}
//……
}else{//文件表单字段
String parentPath = getServletContext().getRealPath("images/");//文件存储根目录
String fileName = fileItem.getName();//文件名,一般使用时间戳
File file = new File(parentPath, fileName);
fileItem.write(file);//文件写入硬盘
}
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
实现图片上传只需增加判断文件结尾代码控制
String fileName = fileItem.getName();//文件名,一般使用时间戳
if(fileName.endsWith(".jpg") || fileName.endsWith(".jpeg") || fileName.endsWith(".png")){
String parentPath = getServletContext().getRealPath("images/");//文件存储根目录
File file = new File(parentPath, fileName);
fileItem.write(file);//文件写入硬盘
} else {
response.getWriter().print("<script>alert('图片格式错误,请选择.jpg .jpeg .png格式的图片');window.history.back(1);</script>");
}
- java web 文件上传
- java web上传文件
- Java web----文件上传
- java web 上传文件
- JAVA WEB文件上传
- java web 文件上传
- Java web文件上传
- java WEB文件上传
- java web 文件文件上传
- java web 文件文件上传
- java web文件上传-struts2
- java web 文件上传处理
- java web的文件上传
- Java web中上传文件
- java web文件上传总结
- java web文件的上传
- Java web 图片上传(文件上传)
- java web文件上传-spring web MVC
- CURL get请求没有没有响应
- [POJ 2823] Sliding Window (单调队列)
- 网易2016内推笔试题——合唱团
- Linux 下curl模拟Http 的get or post请求
- RabbitMQ (五)主题(Topic)
- java web 文件上传
- Android 调试错误: java.lang.SecurityException
- oppenOffice的使用方法和自启动设置
- Python的垃圾回收机制(三)之回收机制
- Lucene4.7.2 FieldCache获取值
- Leetcode 7 Reverse Integer
- 非常全面的PHP header函数设置HTTP头的示例
- #246 – 在文档中使用FlowDocument控件(Use FlowDocument Control to Host Entire Documents)
- 基于NDK的jni调用