构建Web应用:从图片上传到Spring Web Flow
1. 图片上传与Spring配置
在开发Web应用时,图片上传是一个常见的需求。以保存图片的 saveImage()
方法为例,它的首要任务是设置亚马逊网络服务(AWS)的凭证。这需要S3访问密钥和S3秘密访问密钥,这些密钥在注册S3服务时由亚马逊提供,并通过值注入的方式传递给 SpitterController
。
获取AWS凭证后, saveImage()
会创建 JetS3t
的 RestS3Service
实例,通过该实例操作S3文件系统。它会获取 spitterImages
存储桶的引用,创建一个 S3Object
来包含图片,然后将图片数据填充到这个 S3Object
中。在调用 putObject()
方法将图片数据写入S3之前, saveImage()
会设置 S3Object
的权限,允许所有用户查看该图片,这对于应用程序的用户能够看到图片至关重要。如果在这个过程中出现任何问题,会抛出 ImageUploadException
异常。
在Spring中进行文件上传,还需要进行一些配置。 DispatcherServlet
本身并不知道如何处理多部分表单数据,因此需要一个多部分解析器从POST请求中提取多部分数据,以便 <