头像修改主要用到了文件的上传处理,首先要设置表单数据的提交方式以及数据的传输方式,上传图片在获得图片名称的同时还要将图片以数据的形式传送到服务端,创建文件的输入输出流,获取上传文件的路径,以及制定目录下的全路径,上传完后把头像更新到数据库中,核心代码如下:
//修改头像
public void avatar(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//处理文件上传
if(ServletFileUpload.isMultipartContent(request)){ //检查是否为multipart表单数据
try{
ServletFileUpload upload = new ServletFileUpload(new DiskFileItemFactory());
List<FileItem> items = upload.parseRequest(request); //解析请求
int size = items == null ? 0 : items.size();
for(int i = 0; i < size; i++){
FileItem item=(FileItem)items.get(i); //获取方法消息体中的每一段内容。
if (item.isFormField()) {//如果是普通表单项目
String fi