Retroffit2 POST form-data에 파일의 여러 값 포함
이 글은 N·S 고등학교 Advent Calendar 2021째 날이다.
안녕하세요.고등학교 매전캠퍼스 변두리에서 애매모호한 사람이야.비었으니까 써.
메시지
나는 포스트맨으로 이것을 말하고 싶다.
ApiService.kt
interface ApiService {
@JvmSuppressWildcards
@POST("upload.php")
suspend fun upload(@Body body: RequestBody): Response<ResponseBody> // Response<ResponseBody> はよしなに。
companion object {
var apiService: ApiService? = null
fun getInstance(): ApiService {
if (apiService == null) {
apiService = Retrofit.Builder()
.baseUrl("URL") // TODO: ここにURLを入れる
.addConverterFactory(GsonConverterFactory.create())
.build().create(ApiService::class.java)
}
return apiService!!
}
}
}
Activity.ktval api = ApiService.getInstance()
val file = File(/* TODO: いい感じに */)
val body = file.asRequestBody("application/pdf".toMediaTypeOrNull()) // MIMEはいい感じに変えてください。
val requestBody = MultipartBody.Builder()
.setType(MultipartBody.FORM)
.addFormDataPart("file", file.name, body)
.addFormDataPart("a", "Vintage Culture")
.addFormDataPart("b", "James Hype")
.addFormDataPart("c", "Claptone")
.build()
api.upload(requestBody)
최후N고 S 성적 확인 앱을 만들었기 때문에 설치할 수 있다면 기쁘겠다.
iOS 버전
안드로이드 버전
선전 구호!
Reference
이 문제에 관하여(Retroffit2 POST form-data에 파일의 여러 값 포함), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/hirossan4049/items/8195de36688c4a8c3e57텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)