springboot添加数据时获取图片或视频的url
时间: 2023-11-29 14:03:45 浏览: 43
在Spring Boot应用中,可以使用Spring MVC的`MultipartFile`类型来接收上传的文件,然后将文件保存到服务器上,并返回文件的URL给前端。具体的实现步骤如下:
1. 在Controller中定义上传文件的接口,使用`MultipartFile`类型接收上传的文件:
```java
@PostMapping("/upload")
public String upload(@RequestParam("file") MultipartFile file) {
// ...
}
```
2. 在接口中获取上传的文件名、类型和内容:
```java
String fileName = file.getOriginalFilename();
String contentType = file.getContentType();
byte[] content = file.getBytes();
```
3. 将文件保存到服务器上,可以使用Java IO或者Apache Commons IO等工具类:
```java
File destFile = new File("/path/to/destination/" + fileName);
FileUtils.writeByteArrayToFile(destFile, content);
```
4. 返回文件的URL给前端。可以使用相对路径或绝对路径,如果使用相对路径,则需要将文件保存在Spring Boot应用的静态资源目录下(默认为`src/main/resources/static`):
```java
String fileUrl = "/static/" + fileName;
return fileUrl;
```
如果使用绝对路径,则需要使用完整的URL地址,例如:
```java
String fileUrl = "http://localhost:8080/files/" + fileName;
return fileUrl;
```
其中,`http://localhost:8080`为Spring Boot应用的URL地址,`/files/`为文件的存储路径。
5. 在前端页面中,可以使用`<img>`或`<video>`标签来显示图片或视频。例如:
```html
<img src="/api/files/image.jpg" />
<video src="/api/files/video.mp4" controls></video>
```
其中,`/api/files`为Spring Boot应用的接口路径,`image.jpg`和`video.mp4`为文件的名称。