表单提交之上传图片

本文介绍了一种通过HTML表单上传图片,并使用Java处理图片的方法。具体步骤包括:设置表单的enctype属性为multipart/form-data;使用MultipartFile接收图片;通过UUID重命名并保存图片到本地;更新数据库中用户的图片路径。

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

当我们直接用表单将数据传送到后台的时候,需要在表单标签加上enctype="multipart/form-data"语句。具体实现如下:

html代码:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<form action="http://localhost:8080/SSS/authentication/uploadImg" method="post" enctype="multipart/form-data">
		<input type="text" name="userId"/>
		<input type="file" name="img"/>
		<input type="submit" name="提交"/>
	</form>
</body>
</html>

Java代码:

@ResponseBody
	@RequestMapping("/uploadImg")
	public void uploadImg(MultipartFile img,HttpServletRequest request) throws IOException{
		//获取图片的完整名称
		String imgFile = img.getOriginalFilename();
		//使用随机生成的字符串+图片的文件扩展名作为图片存储的名称
		String newFileName = UUID.randomUUID().toString() + imgFile.substring(imgFile.lastIndexOf("."));
		//将图片保存在硬盘
		img.transferTo(new File("F:\\"+newFileName));
		//将图片保存到数据库
		UserInfo user=userInfoService.getuserById(Long.parseLong(request.getParameter("userId")));
		user.setCardUrl(newFileName);
	}

这样就实现了图片保存到指定路径,以及将图片的路径保存到数据库的功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值