文件上传时发送的HTTP协议内容

文件上传的代码以及步骤
package com.example.servlet;
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;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.IOException;
import java.util.List;
public class UploadServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
if(ServletFileUpload.isMultipartContent(req)){
FileItemFactory fileItemFactory = new DiskFileItemFactory();
ServletFileUpload servletFileUpload = new ServletFileUpload(fileItemFactory);
try {
List<FileItem> list = servletFileUpload.parseRequest(req);
for(FileItem fileItem:list){
if(fileItem.isFormField()){
System.out.println("表单项的name属性值:"+fileItem.getFieldName());
System.out.println("表单项的value属性值:"+fileItem.getString("UTF-8"));
}else{
System.out.println("表单项的name属性值:"+fileItem.getFieldName());
System.out.println("上传的文件:"+fileItem.getName());
fileItem.write(new File("G:\\localhostFile\\"+fileItem.getName()));
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
文件下载的代码以及步骤
package com.example.servlet;
import org.apache.commons.io.IOUtils;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URLEncoder;
public class Download extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String downloadFilename="2.jpg";
ServletContext servletContext=getServletContext();
String mimeType = servletContext.getMimeType("/file/" + downloadFilename);
System.out.println("需要下载的文件类型:"+mimeType);
resp.setContentType(mimeType);
InputStream resourceAsStream = servletContext.getResourceAsStream("/file/" + downloadFilename);
resp.setHeader("Content-Disposition","attachment;filename="+ URLEncoder.encode("道路.jpg","UTF-8"));
OutputStream outputStream = resp.getOutputStream();
IOUtils.copy(resourceAsStream,outputStream);
}
}