Spring Boot实现图片上传和展示
以下是一个简化的Spring Boot应用程序示例,用于展示如何实现图片的上传和展示:
// 导入Spring Boot相关依赖
import org.springframework.boot.*;
import org.springframework.boot.autoconfigure.*;
import org.springframework.stereotype.*;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
@Controller
@SpringBootApplication
public class UploadDownloadApplication {
@GetMapping("/")
public String index() {
return "index";
}
@PostMapping("/upload")
public String upload(@RequestParam("file") MultipartFile file) {
if (file.isEmpty()) {
return "File is empty";
}
try {
String filename = file.getOriginalFilename();
byte[] bytes = file.getBytes();
// 这里可以写代码将文件保存到服务器的指定目录
// 例如:new FileOutputStream("upload-dir/" + filename).write(bytes);
return "File uploaded successfully: " + filename;
} catch (Exception e) {
return "File upload failed: " + e.getMessage();
}
}
public static void main(String[] args) throws Exception {
SpringApplication.run(UploadDownloadApplication.class, args);
}
}
在这个例子中,我们创建了一个简单的Spring Boot应用程序,它有一个上传图片的端点/upload
,和一个返回index.html页面的根路径/
。在上传方法中,我们检查文件是否为空,然后尝试读取文件内容并保存到服务器的指定目录。
注意:实际应用中你需要处理文件存储和安全性方面的问题,例如防止文件覆盖、文件过滤、使用安全的文件名等。
对于图片的展示,你可以在index.html
中添加一个表单来上传图片,并在成功上传后展示图片。这里没有包含展示的代码,因为展示逻辑通常是通过HTML和CSS来实现的。简单的HTML表单可能如下所示:
<!-- index.html -->
<!DOCTYPE html>
<html>
<head>
<title>Image Upload and Display</title>
</head>
<body>
<form method="POST" action="/upload" enctype="multipart/form-data">
<input type="file" name="file" />
<input type="submit" value="Upload" />
</form>
<!-- 图片上传后会显示在这里 -->
</body>
</html>
在实际的生产环境中,你可能需要使用存储服务(如Amazon S3)和内容分发网络(CDN)来安全地存储和提供图片。
评论已关闭