【发布时间】:2019-08-12 09:56:26
【问题描述】:
当使用改造上传成功上传文件到 s3 并返回 200 但文件已损坏。该文件可以是视频或图像。
val requestFile = RequestBody.create(MediaType.parse(contentType), file)
val body = MultipartBody.Part.createFormData(mediaType, task.file_name, requestFile)
assetService.uploadAsset(contentType, task.upload_url, body)
其中 contentType 为“video/mp4”或“image/jpeg”,mediaType 为“video”或“image”
服务:
@Multipart
@PUT
fun uploadAsset(
@Header(CONTENT_TYPE) contentType: String,
@Url uploadUrl: String,
@Part file: MultipartBody.Part
): Single<ResponseBody>
文件已上传且看起来正确,但它们已损坏且无法查看。
我已经检查了这个问题,但仍然卡住了。 AWS S3 Rest API with Android Retrofit V2 library, uploaded image is damaged
【问题讨论】:
-
为什么不用s3 SDK上传?文档非常清楚如何做到这一点,而且比休息要好得多。
-
我们正在使用与此问题类似的上传预签名网址,因此改装似乎很合适:stackoverflow.com/questions/45991720/…
-
你是说每次你根据你的api响应上传到不同的桶?
-
每个资产的不同上传网址。 URL 是正确的,我从呼叫中得到 200 响应,但是当我去查看 S3 上的视频/图像时,它们已损坏。错误必须在请求正文中
标签: android amazon-s3 kotlin retrofit retrofit2