java Multipart上传图片文件

public static String upload(HttpServletRequest request,String coverpath)
			throws IOException {
		// 将当前上下文初始化给 CommonsMutipartResolver (多部分解析器)
		CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver(
				request.getSession().getServletContext());
		// 检查form中是否有enctype="multipart/form-data"
		if (multipartResolver.isMultipart(request)) {
			DefaultMultipartHttpServletRequest multipartRequest = (DefaultMultipartHttpServletRequest) request;
			Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
			for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
				// 获取上传文件对象
				MultipartFile mf = entity.getValue();
				boolean del = FileUtil.deleteFile(coverpath);
				if(del){
					System.out.println("删除文件成功"+Util.getNow(null)+":"+coverpath);
				}else{
					System.out.println("删除文件失败"+Util.getNow(null)+":"+coverpath);
				}
				if (!mf.isEmpty()) {
					File savefile = new File(coverpath);
					// 判断文件保存是否存在
					if (savefile.getParentFile() != null || !savefile.getParentFile().isDirectory()) {
						// 创建文件
						savefile.getParentFile().mkdirs();
						System.out.println("修改成功"+Util.getNow(null));
					}
			        try {
						mf.transferTo(savefile);
						return coverpath;
					} catch (IOException e) {
						throw new IOException("上传失败--" + e.getMessage());
					}
				}
			}
		} else {
			return coverpath;
			//throw new IOException("上传文件请求头信息错误");
		}
		return null;
	}

	/**
	 * 创建-封面
	 * @param request
	 * @param filePath
	 * @return
	 * @throws IOException
	 */
	public static String create(HttpServletRequest request,String filePath)
			throws IOException {
		String fileName = "";
		// 将当前上下文初始化给 CommonsMutipartResolver (多部分解析器)
		CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver(
				request.getSession().getServletContext());
		// 检查form中是否有enctype="multipart/form-data"
		if (multipartResolver.isMultipart(request)) {
			DefaultMultipartHttpServletRequest multipartRequest = (DefaultMultipartHttpServletRequest) request;
			Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
			for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
				// 获取上传文件对象
				MultipartFile mf = entity.getValue();
				if (!mf.isEmpty()) {
					
					fileName += mf.getName() + mf.getOriginalFilename();
					
					fileName = fileName.replace("img", "");
					//把图片名称改为cover
					int index = fileName.indexOf(".");
					
					String s1 = fileName.substring(0,index);
					
					fileName = fileName.replace(s1, "BJ"+System.currentTimeMillis());
					
					// 拼接后台文件名称
					// 文件保存全路径
					String savePath = filePath +"/"+ fileName;
					
					File savefile = new File(savePath);
					// 判断文件保存是否存在
					if (savefile.getParentFile() != null || !savefile.getParentFile().isDirectory()) {
						// 创建文件
						savefile.getParentFile().mkdirs();
					}
					try {
						mf.transferTo(savefile);
						//返回是全部路径
						return savePath;
					} catch (IOException e) {
						throw new IOException("上传失败--" + e.getMessage());
					}
				}
			}
		}else {
			//throw new IOException("上传文件请求头信息错误");
			return fileName;
		}
		return fileName;
	}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SuperChen12356

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值