Java/Spring

이미지 파일 업로드 오류 수정 기록...

체리필터 2016. 11. 8. 11:15
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
반응형