我创建了一个API,用于在AWS S3上上传文件。
我想将文件大小限制为10MB。
以下是我的API。
@POST
@Path("/upload")
@Produces("application/json")
public Response kafkaBulkProducer(InputStream a_fileInputStream) throws IOException {
// UPLOADING LOGIC
}
据我所知,在向我的API发出请求时,数据/ InputStream已加载到我的服务器上。 这是消耗资源(连接等)。
在映射URL或完成资源映射之前,我有什么方法可以识别文件大小,这样如果我的文件大小超过10MB,我就不允许它到达我的服务器。
我想我可以使用预过滤器。但我最关心的问题是,在调用API时,流数据是否会首先存储在我的服务器上? 预匹配过滤器是否有帮助,因此如果数据大小超过10MB,数据将不会存储在我的服务器上。
基本上我不想在我的服务器上存储数据,然后检查大小,然后上传到s3。 我想要一个解决方案,我可以在加载到服务器之前检查文件大小,然后我可以上传到S3。
此API将与curl
一起使用。
我该怎么办呢。
我希望我清楚自己的问题。
谢谢