news 2026/9/22 3:33:14

第十篇 文件上传

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
第十篇 文件上传

文件上传是指将本地(客户端)的文件通过网络传输到远程服务器的过程,是 Web 开发、客户端 / 服务端交互中最常见的功能之一。在 Java 开发场景中,通常特指浏览器(前端)或客户端程序将文件(如图片、文档、视频、压缩包等)提交到 Java 后端服务器,并由服务器接收、解析、存储(或进一步处理)的过程。

实现步骤

前端

1、必须使用表单提交

2、请求方法必须是post

3、设置表单 enctype=multipart/form-data属性

4、使用input type=file 标签,指定name属性

后端

1、使用MultipartFile类型接收文件

2、使用方法获取相应的参数

3、读取到文件后进行存储

前端代码:

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>用户详情页面</title> </head> <body> <!-- 上传 头像--> <form action="/user/login" method="post" enctype="multipart/form-data"> <div> 上传图片: <input type="file" name="userIcon" /> </div> <div> <input type="submit" value="上传头像" /> </div> </form> </body> </html>

后端代码:

/** * 演示文件上传操作 */ @RestController public class UploadFileController { /** * 文件上传方法 */ @RequestMapping("/user/login") public ResultObj uploadFile(MultipartFile userIcon) throws IOException { String originalFilename = userIcon.getOriginalFilename(); System.out.println("originalFilename = " + originalFilename); //获取原文件名称 String name = userIcon.getName(); System.out.println("name = " + name); //表示获取表单上传 文件name值 long size = userIcon.getSize(); System.out.println("size = " + size); //获取上传文件大小 String contentType = userIcon.getContentType(); System.out.println("contentType = " + contentType); //表示上传文件类型 image/png // InputStream is = userIcon.getInputStream(); //获取根据输入流表现显示 //把文件保存到指定目录下 userIcon.transferTo(new File("F://class118/" + originalFilename)); return ResultObj.ok(); } }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/22 1:18:21

合并两个有序链表:双指针迭代法实现(C++)

一、问题描述将两个升序链表合并为一个新的升序链表并返回&#xff0c;新链表是通过拼接给定的两个链表的所有节点组成的。示例&#xff1a;输入&#xff1a;l1 [1,2,4]&#xff0c;l2 [1,3,4]&#xff0c;输出&#xff1a;[1,1,2,3,4,4]输入&#xff1a;l1 []&#xff0c;l…

作者头像 李华
网站建设 2026/9/21 21:56:55

CVPR 2025最佳论文突破:DepthCrafter实现开放世界视频深度序列生成新范式

CVPR 2025最佳论文突破&#xff1a;DepthCrafter实现开放世界视频深度序列生成新范式 【免费下载链接】DepthCrafter DepthCrafter是一款开源工具&#xff0c;能为开放世界视频生成时间一致性强、细节丰富的长深度序列&#xff0c;无需相机姿态或光流等额外信息。助力视频深度估…

作者头像 李华
网站建设 2026/9/22 1:18:19

MEET 2026 | 荣获双奖,AI 开源点亮智能未来

12 月 10 日&#xff0c;以「共生无界&#xff0c;智启未来」为主题的 MEET 2026 智能未来大会在北京举行。承袭 MEET 系列年度行业观察的视角&#xff0c;聚焦以 AI 为代表的智能科技如何穿透产业、学科与场景边界&#xff0c;探讨前沿技术进展与产业落地新动向。大会邀请清华…

作者头像 李华
网站建设 2026/9/22 0:18:19

Wan2.2-T2V-A14B支持自动字幕嵌入吗?多语种翻译生成测试

Wan2.2-T2V-A14B是否支持自动字幕嵌入&#xff1f;多语种翻译能力实测解析 在短视频出海、跨国品牌营销日益频繁的今天&#xff0c;内容本地化的效率直接决定了市场响应速度。一个中国团队制作的广告片&#xff0c;如果需要投放到欧美、东南亚甚至拉美地区&#xff0c;传统流程…

作者头像 李华
网站建设 2026/9/21 11:05:50

Wan2.2-T2V-A14B与Sora的技术路线差异比较

Wan2.2-T2V-A14B与Sora的技术路线差异比较 在生成式AI的浪潮中&#xff0c;文本到视频&#xff08;Text-to-Video, T2V&#xff09;正从“能出画面”迈向“可商用”的关键转折点。过去一年里&#xff0c;我们见证了两个极具代表性的技术里程碑&#xff1a;阿里巴巴推出的 Wan2.…

作者头像 李华
网站建设 2026/9/22 0:18:28

Java两种代理模式详解

如有错误欢迎指出 是jdk动态代理是从一步步开始写完特性/维度JDK 动态代理CGLIB 动态代理是否需要接口✅ 需要接口❌ 不需要接口&#xff08;可代理普通类&#xff09;代理原理基于反射实现接口方法的代理继承目标类并重写方法&#xff0c;基于 ASM 字节码操作代理类结构生成实…

作者头像 李华