메뉴 건너띄기
상단메뉴 바로가기
본문 바로가기

이 누리집은 대한민국 공식 전자정부 누리집입니다.

본문 영역

적용 지원, FAQ, Q&A 게시판을 통해 기술 문제 해결을 지원합니다.

묻고 답하기

파일업로드.... 에러
  • 작성자

    정*섭

  • 작성일

    2013-03-28 17:47:16

  • 조회수

    2,172

  • 구분

    공통컴포넌트

  • 진행상태

    완료

질문

안녕하세요
표준프레임웍 2.0으로 개발하고 있습니다.
WAS는 제우스, webserver 는 WebtoB를 사용하는데요

파일 업로드 할경우 로그를 찍어보면 file.transferTo에서 오류가 발생해서
다음으로 넘어가지를 않습니다. 뭘 확인해야 될른지요?
도통 알수가 없어서 ... 답변 부탁드려요..

아래는 EgovFileMngUtil.java 내용입니다.
public class EgovFileMngUtil {
public static final int BUFF_SIZE = 2048;
@Resource(name = "propertiesService")
protected EgovPropertyService propertyService;
@Resource(name = "egovFileIdGnrService")
private EgovIdGnrService idgenService;

private static final Logger LOG = Logger.getLogger(EgovFileMngUtil.class.getName());

public List<FileVO> parseFileInf(Map<String, MultipartFile> files, String KeyStr, int fileKeyParam, String atchFileId, String storePath) throws Exception {
int fileKey = fileKeyParam;

String storePathString = "";
String atchFileIdString = "";

if ("".equals(storePath) || storePath == null) {
storePathString = propertyService.getString("Globals.fileStorePath");
} else {
storePathString = propertyService.getString(storePath);
}
if ("".equals(atchFileId) || atchFileId == null) {
atchFileIdString = idgenService.getNextStringId();
} else {
atchFileIdString = atchFileId;
}
File saveFolder = new File(storePathString);
if (!saveFolder.exists() || saveFolder.isFile()) {
saveFolder.mkdirs();
}
Iterator<Entry<String, MultipartFile>> itr = files.entrySet().iterator();
MultipartFile file;
String filePath = "";
List<FileVO> result = new ArrayList<FileVO>();
FileVO fvo;
while (itr.hasNext()) {
Entry<String, MultipartFile> entry = itr.next();
file = entry.getValue();
String orginFileName = file.getOriginalFilename();

// 원 파일명이 없는 경우 처리
if ("".equals(orginFileName)) {
continue;
}

int index = orginFileName.lastIndexOf(".");
String fileExt = orginFileName.substring(index + 1);
String newName = KeyStr + EgovStringUtil.getTimeStamp() + fileKey;
long _size = file.getSize();

if (!"".equals(orginFileName)) {
filePath = storePathString + File.separator + newName;

System.out.println("filePath="+filePath);
로그 : filePath="/rlk/attachment/BBS_201303280534098400"
위의 로그는 잘 찍힙니다.
file.transferTo(new File(filePath));
System.out.println("Success........!!!!!");

답변

안녕하세요.. 정규섭님..

파일 생성 권한 문제인 것 같습니다.

대상 디렉토리에 파일 생성 권한이 있으신지 확인해 보시면 되실 것 같습니다.

그럼.. 즐거운 하루되십시오.
감사합니다.

이 페이지의 구성

묻고 답하기