如何解决Android 无法使用签名 url 将文件上传到 Google Cloud 存储
我正在尝试使用后端服务器生成的签名 URL 将文件上传到 Google Cloud Storage,但出现此错误
SignatureDoesNotMatch
我们计算的请求签名与您提供的签名不匹配。检查您的 Google 密钥和签名方法。PUT
multipart/form-data; boundary=50b17d2b-3095-4762-b93f-fa87bbe1c7bd
1926666331
/bucket_name/r1m767lcbtxnuu34hu9klrljf65q</StringToSign></Error>
我正在使用带有 multipart 的 okhttp put 请求来上传这样的文件
private fun directUpload(signedUrl: String,file: File) {
try {
val requestBody: RequestBody = RequestBody.create(
file.getMimeType().toMediaTypeOrNull(),file
)
val request: Request = Request.Builder().url(signedUrl).put(requestBody)
.build()
val client = OkHttpClient()
val response: Response = client.newCall(request).execute()
if (response.isSuccessful) {
response.toString()
Log.d("Response_Direct_Upload","FileUploaded")
} else {
Log.d("Response_Direct_Upload",response.body?.string().toString())
}
} catch (ex: Exception) {
Log.d("Response_Direct_Upload","FileUploadFailedException")
}
}
服务端生成的签名url是这样的
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。