MVC 게시판

Multipart 사용해보기

beejaem 2022. 9. 30. 10:56

service.kt

interface FileUploadService {
    @Multipart
    @PUT("/admin/upload/signature")
    fun upload(
        @Part file: MultipartBody.Part,
        @Part(value = "num") num : RequestBody,
        @Part(value = "user_num") user_num : RequestBody
    ) : Call<Boolean>
}

MainActivity.kt

var fileBody = RequestBody.create(MediaType.parse("image/png"),file);
var filePart = MultipartBody.Part.createFormData("file", file?.name, fileBody);
var file_num = RequestBody.create(MediaType.parse("text/plain"),num.toString())
var user_data = RequestBody.create(MediaType.parse("text/plain"),user_num.toString())

var call : Call<Boolean> = uploadService.upload(filePart,file_num,user_data)

이후 통신관련 코드는 call.enqueue를 사용하는 방식으로 생략했습니다.

 

server

Controller.java

@RequestMapping(value = "/admin/upload/signature", method = RequestMethod.PUT, consumes = {MediaType.MULTIPART_FORM_DATA_VALUE})

어노테이션 값에 consumes = {MediaType.MULTIPART_FORM_DATA_VALUE}  추가 된것 외에는 특별히 다른 부분은 없지만

값을 Object가 아닌 단일 값으로 받으려면 @Part 어노테이션을 이용해 사용이 가능합니다.

'MVC 게시판' 카테고리의 다른 글

[Springboot + JPA] QueryDSL 셋팅법  (0) 2023.12.04
[Spring boot] Rest API 전송 크기 설정  (0) 2023.04.12
view 화면을 file로 저장하기  (0) 2022.09.30
Mybatis Mapper.xml 사용하기  (0) 2022.08.11
Oauth 카카오로그인 웹  (0) 2022.01.10