一、导入两个jar包
二、上传文件代码操作
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setContentType("text/html;charset=utf-8");
resp.setCharacterEncoding("utf-8");
PrintWriter out = resp.getWriter();
if (ServletFileUpload.isMultipartContent(req)) {
FileItemFactory fileItemFactory = new DiskFileItemFactory();
ServletFileUpload servletFileUpload = new ServletFileUpload(fileItemFactory);
try {
List<FileItem> list = servletFileUpload.parseRequest(req);
for (FileItem file : list) {
if (file.isFormField()) {
System.out.println("表单项的name属性值:" + file.getFieldName());
System.out.println("表单项的Value值:" + file.getString("utf-8"));
} else {
System.out.println("表单项的name属性值:" + file.getFieldName());
System.out.println("上传的文件名:" + file.getName());
file.write(new File("/media/daidai/864C2900FECE5B5C/Admin/Daidai/web/File/" + file.getName()));
System.out.println(getServletContext().getRealPath(file.getName()));
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
out.print("文件上传成功!");
}
三、下载文件代码操作
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String downloadFileName = "02.jpg";
ServletContext servletcontext =getServletContext();
String mimeType = servletcontext.getMimeType("/File/"+downloadFileName);
resp.setContentType(mimeType);
if(req.getHeader("User-Agent").contains("Firefox")){
resp.setHeader("Content-Disposition","attachment;filename==?UTF-8?B?"+new BASE64Encoder().encode(downloadFileName.getBytes("UTF-8"))+"?=");
}else{
resp.setHeader("Content-Disposition","attachment;filename=="+ URLEncoder.encode(downloadFileName,"utf-8"));
}
InputStream resource = servletcontext.getResourceAsStream("/File/02.png");
OutputStream outputStream = resp.getOutputStream();
IOUtils.copy(resource,outputStream);
}