728x90
반응형
구매후기 이미지 업로드에서 오류가 나고 있어서 해당 내용을 검토 중에 알게 된 내용을 정리합니다.
기본적으로 아래와 같은 방식으로 업로드가 되고 있습니다.
브라우저 -> php -> Java
그런데 문제는 어느 한쪽의 문제가 아니라 php, Java 둘다 문제가 발생...
그리고 문제의 원인은 둘다 Version Up이였습니다.
1. 먼저 Java
Error Message가 "Required MultipartFile parameter 'file' is not present" 라고 발생.
구글링 하니 http://stackoverflow.com/questions/25830503/spring-mvc-http-status-400-required-multipartfile-parameter-file-is-not-pre 가 검색 됨.
아래와 같은 방식으로 수정
AS-IS
<bean id="multipartResolver" class="**org.springframework.web.multipart.commons.CommonsMultipartResolver**" />
TO-BE
<bean id="multipartResolver" class="org.springframework.web.multipart.support.StandardServletMultipartResolver" />
2. 다음으로 PHP
PHP에서 Java 쪽으로 파일을 올릴 때는 CURL을 사용했는데 기존에 /tmp에 올라온 임시 파일을 읽어 들일 때는 @를 사용해서 리소스를 읽어 들였음.
php 5.5.0 기준 Deprecated 된 기능이라서 다른 방법으로 수정
if (!function_exists('curl_file_create')) {
$data = array(
'Filedata' => '@'.$file['tmp_name'].';filename='.$file['name'].';type='.$file['type']
);
$ch = curl_init();
} else {
$ch = curl_init($api_url.$uri);
$cfile = curl_file_create($file['tmp_name'], $file['type'], $file['name']);
$data = array(
'Filedata' => $cfile
);
}
728x90
반응형
'Java > Spring' 카테고리의 다른 글
Jackson ObjectMapper에서 json data를 Map이 아니라 Object로 받기 (0) | 2018.09.12 |
---|---|
[삽질] stomp, sockjs를 이용하여 websocket 연결 시 info 가 404로 나오는 경우 (4) | 2018.03.13 |
Spring Batch(스프링 배치)에서 작업 시간이 길어지는 경우 (0) | 2016.10.27 |
Spring에서 MessageUtil 사용하기 (0) | 2015.02.24 |
메소드 파라미터(parameter) 및 어노테이션(Annotation) 정리 (0) | 2015.02.24 |