上传图片了但是没保存到upload文件夹下

上传图片了但是没保存到upload文件夹下

package com.imooc.web.servlet;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;

import com.imooc.service.impl.UserServiceImpl;
import com.imooc.web.domain.User;
import com.imooc.web.service.UserService;
import com.imooc.web.utils.UploadUtils;



/**
 * Servlet implementation class RegistServlet
 */
@WebServlet("/RegistServlet")
public class RegistServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public RegistServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		//接收数据
		//创建Map集合用于保存数据:
		Map<String,String> map = new HashMap<String,String>();
		//文件上传
		//1.创建磁盘文件工厂
		DiskFileItemFactory diskFileItemFactory = new DiskFileItemFactory();
		//2.创建核心解析类
		ServletFileUpload fileUpload = new ServletFileUpload(diskFileItemFactory);
		//3.解析请求对象,将请求分成几个部分(FileItem)
		try {
			List<FileItem> list = fileUpload.parseRequest(request);
			for(FileItem fileItem:list) {
				if(fileItem.isFormField()) {
					//普通型
					//获取普通项名称
					String name = fileItem.getFieldName();
					//获取普通项值
					String value = fileItem.getString("UTF-8");
					map.put(name, value);
					System.out.println(name+"  "+value);
				}else {
					//文件上传项
					//获得文件的名称:
					String fileName = fileItem.getName();
					//获得唯一文件名:
					String uuidFileName = UploadUtils.getUuidFileName(fileName);
					//获得文件输入流
					InputStream is = fileItem.getInputStream();
					String path = getServletContext().getRealPath("/upload");
					System.out.println(path);
					//显示图片<img: src="路径">
					//创建输出流与输入流进行对接
					String url = path + "\\" + uuidFileName;
					map.put("path", request.getContextPath()+"/upload/"+uuidFileName);
					OutputStream os = new FileOutputStream(url);
					int len = 0;
					byte[] b = new byte[1024];
					while((len=is.read(b))!=-1) {
						os.write(b,0,len);
					}
					is.close();
					os.close();
				}
			}
		}catch(FileUploadException e) {
			e.printStackTrace();
		}
		//封装数据
		User user = new User();
		user.setUsername(map.get("username"));
		user.setPassword(map.get("password"));
		user.setPath(map.get("path"));
		System.out.println(user);
		//处理数据
		UserService userSerivce = new UserServiceImpl();
		//从serviceContext域中获取用户的集合
		List<User> userList = (List<User>)getServletContext().getAttribute("userList");
		userSerivce.regist(userList, user);
		//显示结果
		System.out.println(userList);
//		request.getRequestDispatcher("/login.jsp").forward(request, response);
		response.sendRedirect(request.getContextPath()+"/login.jsp");
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request, response);
	}

}

控制台也显示了信息

http://img1.sycdn.imooc.com//climg/5edce7a709037e4718460888.jpg

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,图书是保存到upload文件夹,同学可以去如下路径中查找,看看图片是否存在

http://img1.sycdn.imooc.com//climg/5eddb35508baa49606310150.jpg

同学所说的没有保存到uplaod文件夹下是指上述路径的upload文件是空的吗,还是指项目下的upload文件夹为空,请同学具体描述

祝学习愉快

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师