将文件上传到AWS S3预签名URL Retrofit2 Android

nt95

我有一个从AWS S3预先签名的上传URL,可以将视频文件上传到该URL。在邮递员上测试,视频已成功上传。但是,在进行改造时,我得到了403返回。我无法为此任务使用分段上传。

服务电话:

@Headers("Content-Type: video/mp4")
    @PUT
    fun uploadTaskAWS(@Url awsUrl: String, @Body filePart: RequestBody): Call<ResponseBody>

上载:

            val file = File(task.file_path)
            val requestFile = RequestBody.create(MediaType.parse("video/mp4"), file)
            val response = awsTaskUploadService.uploadTaskAWS(task.upload_url, requestFile)

我已确保网址正确。内容类型标头也被添加,附加了邮递员屏幕截图。得到403禁止错误

邮递员的屏幕截图

我发现了这个相关问题,但是我仍然收到403。使用Retrofit2将文件上传到AWS S3预签名URL

有什么建议?

nt95

解决方案是包括多部分内容,并期望单一响应不是Call:

  @Multipart
    @PUT
    fun uploadAsset(
        @Header(CONTENT_TYPE) contentType: String,
        @Url uploadUrl: String,
        @Part file: MultipartBody.Part
    ): Single<ResponseBody>

传入contentType的位置

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)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Android Hilt,Retrofit2和属性文件问题

使用Java将AWS文件上传到S3

AWS S3预签名URL限制

如何使用AWS iOS SDK v2将UIImage上传到S3

使用aws-sdk v2将图像上传到S3

使用服务器端应用程序生成的签名URL从android将文件(视频文件)上传到S3服务器

创建Amazon AWS S3预签名URL PHP

AWS PHP SDK:限制预签名URL中的S3文件上传大小

如何将图像上传到AWS S3并获取图像文件的S3存储桶URL并一次保存到dynamodb-Android

S3预签名URL文件上传失败,带有安全的/ https URL

使用Ionic 2通过预签名的URL上传到s3时,SignatureDoesNotMatch错误

使用Retrofit2将文件上传到AWS S3预签名URL

如何使用预签名的URL调试S3上传?

如何将文件上传到AWS中的预签名URL?

AWS S3预签名URL的哪个IAM角色

AWS S3预签名URL改为返回ListBucketResult

浏览器Javascript:将Json压缩为gzip,然后上传到S3预签名URL

如何使用Node.js和Axios将文件上传到AWS中的预签名URL?

如何使用angular或javascript中的预签名URL将文件上传到S3存储桶

Django:将CSV文件上传到AWS S3

将文件上传到S3预签名URL

AWS iOS SDK v2文件上传到S3问题

如何在Ruby中将预签名的POST文件上传到AWS S3?

使用Retrofit2将文件上传到Slack

在Android中使用Retrofit2库上传文件

Ionic android-使用预签名的URL将文件上传到S3(错误代码:3)

使用预签名 URL 将文件上传到 s3

如何将文件上传到 Laravel 中的 Amazon S3 预签名 URL?

使用预签名 URL 流式上传到 S3