Browse Source

Fix: upload avator api parameter to request body

liweihao 6 years ago
parent
commit
d015b9dd31
2 changed files with 6 additions and 7 deletions
  1. 3 4
      readme.md
  2. 3 3
      src/main/java/com/example/bomocloud/UploadFileService.kt

+ 3 - 4
readme.md

@@ -33,10 +33,9 @@ boMoCloud.authService
 ```kotlin
  val awsS3 = AwsS3()
  val avatorUri = Uri.parse("avatorUri")
- val requestBody = RequestBody.create(MediaType.parse("image/*"), File("filePath"))
- val part = MultipartBody.Part.create(requestBody)
+ val requestBody = RequestBody.create(MediaType.parse("image/png"), File("filePath"))
  
- awsS3.uploadFileService.uploadFile(
+ awsS3.uploadFileService.uploadAvator(
      avatorUri.lastPathSegment,
      avatorUri.getQueryParameter(UploadFileService.ALGORITHM),
      avatorUri.getQueryParameter(UploadFileService.CREDENTIAL),
@@ -44,7 +43,7 @@ boMoCloud.authService
      avatorUri.getQueryParameter(UploadFileService.EXPIRES),
      avatorUri.getQueryParameter(UploadFileService.SIGNED_HEADERS),
      avatorUri.getQueryParameter(UploadFileService.SIGNATURE),
-     part)
+     requestBody)
      .enqueue(object : retrofit2.Callback<ResponseBody> {
          override fun onFailure(call: Call<ResponseBody>?, t: Throwable?) { 						t?.printStackTrace()
                                                                           }

+ 3 - 3
src/main/java/com/example/bomocloud/UploadFileService.kt

@@ -1,6 +1,7 @@
 package com.example.bomocloud
 
 import okhttp3.MultipartBody
+import okhttp3.RequestBody
 import okhttp3.ResponseBody
 import retrofit2.Call
 import retrofit2.http.*
@@ -17,9 +18,8 @@ interface UploadFileService {
         const val SIGNATURE = "X-Amz-Signature"
     }
 
-    @Multipart
     @PUT("avators/{imageName}")
-    fun uploadFile(
+    fun uploadAvator(
             @Path("imageName") path: String,
             @Query(ALGORITHM) algorithm: String,
             @Query(CREDENTIAL) credential: String,
@@ -27,6 +27,6 @@ interface UploadFileService {
             @Query(EXPIRES) expires: String,
             @Query(SIGNED_HEADERS) signedHeaders: String,
             @Query(SIGNATURE) signature: String,
-            @Part part: MultipartBody.Part
+            @Body body: RequestBody
     ): Call<ResponseBody>
 }