SpringBoot上传图片与回显
上传初级
添加依赖:
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.4</version>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.1</version>
</dependency>
前台html代码
<form action="/updateimg" method="post" enctype="multipart/form-data">
<table border="1px solid red">
<tr>
<td>文件1</td>
<td>
<input name="file" type="file"/>
</td>
</tr>
<tr>
<td></td>
<td>
<input type="submit" value="提交"/>
</td>
</tr>
</table>
</form>
后台 控制层代码
@RequestMapping("updateimg")
@ResponseBody
public int UpdateImg(@RequestParam(value="file",required=false) MultipartFile[] file ) throws IOException {
String s = editorImg.UploadImg(file);
//注意这里我返回的是 上传成功后图片的名称
System.out.println(s);
//获得图片名字后存储到数据库中
return mk_useService.UpdateUseImg(s);
}
封装的图片上传代码
//普通的上传图片
public String UploadImg(MultipartFile[] file) throws IOException {
//定义序号
int count=1;
for (MultipartFile mf : file) {
if(!mf.isEmpty()){
// 使用UUID给图片重命名,并去掉四个“-”
String name = UUID.randomUUID().toString().replaceAll("-", "");
// 获取文件的扩展名
String ext = FilenameUtils.getExtension(mf.getOriginalFilename());
// 设置图片上传路径
String url="D:/BaiduNetdiskDownload/";
//设置图片新的名字
String fileName=name+"."+ext;
// 以绝对路径保存重名命后的图片
File targeFile=new File(url,fileName);
mf.transferTo(targeFile);
// 把图片存储路径保存到数据库
return url+fileName;
}
count++;
}
return null;
}
配置图片存放的虚拟路径
@Configuration
public class MyWebConfigurer implements WebMvcConfigurer {
//配置虚拟路径
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/img/**").addResourceLocations("file:D:/BaiduNetdiskDownload/");
}
}
显示图片 上面我们把图片的url存放到数据库里面
@RequestMapping("show")
public String show(Model model)
{
List<Photo> all = PhotoService.findAll();
model.addAttribute("list",all);
return "index";
}
显示图片的html页面
<table border="1px solid red" align="center">
<tr>
<th>头像</th>
</tr>
<tr th:each="a:${list}">
<!--获取th里面的内容必须用th获取-->
<td>
<img th:src="${a.url}">
</td>
</tr>
</table>
进阶操作
艾欧尼亚,昂扬不灭,为了更美好的明天而战(#^.^#)
分类:
springboot
, 上传下载断点续传极速秒传等
标签:
上传下载
, springboot
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
2020-09-17 Java-4年工作经验