Java 后台实现上传图片的接收并保存

本文详细介绍了如何在Java后台实现图片上传的接收及存储。通过使用StringUtils的方法,确保文件安全有效地保存到服务器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.java

public static File uploadFilesSpecifyPath(HttpServletRequest request, String fileDir, String Filedata) throws Exception {
	MultipartFile mf = null;
	File mff = null;
	if (!(request instanceof MultipartHttpServletRequest)) {
		String errorMsg = "your post form is not support ENCTYPE='multipart/form-data' ";
		log.error(errorMsg);

		throw new RuntimeException(errorMsg);
	}
	MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
	List<MultipartFile> multipartFiles = multipartRequest.getFiles(Filedata);
	if (null != multipartFiles && multipartFiles.size() > 0) {
		mf = multipartFiles.get(0);
		String realPath = StringUtils.mergeStringWithSeparator(fileDir,mf.getOriginalFilename());
		File source = new File(realPath);
		try {
			mf.transferTo(source);
			mff = source;
			log.debug("Upload file " + source.getAbsoluteFile() + " Success!");
		} catch (Exception e) {
			String errorMsg = "Upload file " + source.getAbsoluteFile() + " Error!" + e.getMessage();
			log.error(errorMsg);
			throw new RuntimeException(errorMsg);

		}
	}
	return mff;
}
第一个参数为request请求,第二个参数为图片保存的路径,第三个参数类似前段<input type='file' name='file'>的name属性


2.StringUtils中的方法

/**
* 返回斜杠拼接的字符串
* @param args
* @return
 */
public static String mergeStringWithSeparator(String...args){
	StringBuilder sb=new StringBuilder();
	for (String arg : args) {
		sb.append(arg);
		sb.append(File.separator);
	}
		
	return sb.substring(0, sb.length()-1).toString();
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值