我在Ruby / Sinatra中编写了一个API,它通过http(s)端点与我们的Android应用程序连接。一个操作涉及通过应用程序服务器将(zlib压缩的)文件从Android应用程序上传到我们的S3存储桶。使用aws-sdk gem
,我一直在使用单个POST /文件端点,其中Android客户端一次性发送整个文件的zlib压缩的base64编码字符串。这不是Android和我们后端的最佳实践,我希望能够在POST请求中以块的形式读取文件数据并将每个部分上传到multipart upload to S3。我尝试成功实现了Sinatra流GET路由,但我无法为我的目的做同样的事情。我该如何实现这一目标?并且是Sinatra流媒体+ S3多部分上传正确的方式去?