게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
파일이미지 업로드 경로문제에대해. 질문드려보네요..(서버로업로드)
게시물ID : programmer_4557짧은주소 복사하기
작성자 : 늘웃는택이
추천 : 0
조회수 : 1066회
댓글수 : 3개
등록시간 : 2014/07/17 02:13:10
프로젝트 진행하면서 오유에서 도움을많이받는 취준생입니다.
 
다름이아니라.
 
 http://dukeom.wordpress.com/2011/08/25/spring3-file-upload-%EA%B5%AC%ED%98%84/
 
위싸이트의 도움으로 이미지업로드기능을 구현을 하였는데. 1가지 문제가발생해서 질문드려보네요..
 
1. 현재 컴퓨터상의 절대경로를 통해서 그안에 이미지가 들어가는건 확인이 되었습니다.
 
<value>C:\workspace\p\src\main\webapp\resources\userImages
 
userimages폴더에 이미지가 들어가는것까지 확인이되었습니다.
 
 
 
2. 제가 구현하고자하는것은 서버에 이미지경로가 들어가게끔 코딩을 할려고합니다.
 
    <!-- Configure the file upload directory-->
    <bean id="uploadDirResource" class="org.springframework.core.io.FileSystemResource">
        <constructor-arg>
        <value>C:/upload/</value>
        </constructor-arg>
    </bean>
 
이부분의 value에서 경로를 지정을 할 수 있는데. 서버에 이미지를 저장할려고하는데. 어떻게 해야되는지 궁금하네요.
 
아는분한테 설명은들엇는데. 도무지 이해가되지가않네요.
 
현재 svn을 이용해서  자바 프로젝트 진행중이고, mysql을 사용하고있습니다.
 
 
3. 서버에 이미지 저장 -> DB에서 이미지 경로를 호출해서 출력하면  그 이미지가뜬다
지금 제가 구상하는 것입니다.
 
4.. 현재까지 소스입니다.
 
 
@Controller
@RequestMapping(value = "uploadFile.do")
public class UploadController {
 @Autowired
 MyRoomService myRoomService;
 @Autowired
 private FileSystemResource fsResource; // 파일다운로드
 @RequestMapping(method = RequestMethod.GET)
 public String getUploadForm(Model model) {

  model.addAttribute(new UploadItem()); // name ,fileData 를 끌고 오겟다.
  return "myRoom/uploadCheck";
 }
 @RequestMapping(method = RequestMethod.POST)
 public String create(UploadItem uploadItem, BindingResult result,
   HttpServletRequest request) {
  Member member;
  HttpSession session = request.getSession();
  member = (Member) session.getAttribute("member");
  if (result.hasErrors()) // 에러체크
  {
   for (ObjectError error : result.getAllErrors()) {
    System.err.println("Error: " + error.getCode() + " - "
      + error.getDefaultMessage());
   }
   return "myRoom/uploadCheck";
  }
  if (!uploadItem.getFileData().isEmpty()) {
   String filename = uploadItem.getFileData().getOriginalFilename(); // 파일의
                                    // 실제명을
                                    // 가지고온다.
   String imgExt = filename.substring(filename.lastIndexOf(".") + 1,
     filename.length());
   System.out.println(filename);
   System.out.println(imgExt);
 
 
   // lastIndexof는끝에서부터 읽어들임
   // imgExt = 파일명을 읽어들임
   // upload 가능한 파일 타입 지정
   if (imgExt.equalsIgnoreCase("JPG") || imgExt.equalsIgnoreCase("JPEG")
     || imgExt.equalsIgnoreCase("GIF") || imgExt.equalsIgnoreCase("PNG")) {
    byte[] bytes = uploadItem.getFileData().getBytes();
    System.out.println(bytes);
    try {
     File lOutFile = new File(fsResource.getPath() + "_" + filename);
     System.out.println(lOutFile); // 이미지 경로
     /* String lOutFile2 = lOutFile.toString().replace("\\", "/"); */
     System.out.println(lOutFile);
     FileOutputStream lFileOutputStream = new FileOutputStream(lOutFile);
     System.out.println(lFileOutputStream); // 이미지 경로
     
     member.setImgPath(lOutFile.toString());
     lFileOutputStream.write(bytes);
     lFileOutputStream.close();
    } catch (IOException ie) {
     // Exception 처리
     ie.printStackTrace();
     System.err.println("File writing error! ");
    }
    System.err.println("File upload success! ");
    
    myRoomService.insertImage(member);
   } else {
    System.err.println("File type error! ");
   }
  }
  // Some type of file processing...
  System.err.println("-------------------------------------------");
  System.err.println("Test upload: " + uploadItem.getName());
  System.err.println("Test upload: "
    + uploadItem.getFileData().getOriginalFilename());
  System.err.println("-------------------------------------------");
  return "myRoom/uploadCheck";
 }
}
 
 
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호