바람둥이는 파일, 사진을 업로드 할 수있는 가상 경로를 구성

A, 바람둥이 구성

1. service.xml 파일을 수정, Tomcat 설치 디렉토리의 conf 디렉토리 (톰캣 / conf의 / service.xml를) 찾기 :

경로 : / 처음으로 가상 경로;

Docbase의 : 디스크 경로 (절대 경로), 드라이브 문자 (D : / 템플릿)와 Windows 환경은 다음과 같이 시작, 리눅스 환경입니다;

재충전 : 자동으로 서비스를 다시 시작하지 않아도 다시로드를 변경하거나 수업 시간이있을 때 web.xml의 사실이다;

< 컨텍스트 경로 = "/ 템플릿" Docbase에 = "/ 홈 / 템플릿" 재충전 = "진정한"  />

 

주 : 추가 구성을 필요로 배치 할 <호스트> </ 호스트> 태그;

구성 서버 가상 경로가 자원의 희망이기 때문에, 둘째 바람둥이의 부하를 증가로 우리는 프로젝트에 바람둥이와 자원 관련 프로젝트에 또는에서, 무엇보다도 함께 독립적 인 자원을 Docbase의 경로와 바람둥이를하지 않는 것이 좋습니다;

2, 업로드

아래의 자료를 업로드 할 때 자원 Docbase의 (절대 경로) 경로에 업로드해야

   @RequestMapping (값 "uploadImg"는 = 생성 = MediaType.APPLICATION_JSON_UTF8_VALUE) 
    @ResponseBody 
    공개 개체 uploadImg (의 MultipartFile 파일의 HttpSession 세션 HttpServletRequest의 요청) { 
        SessionContainer S = (SessionContainer) session.getAttribute ( "SC"를 ); 
        ResultVo resultVo = 새로운 ResultVo (); 
        resultVo.setCode (ResultEnum.ERROR.getCode ()); 
//         문자열 call_path = Global.getProperty ( "VOUCHER_IMAGE_URL"); 
        문자열 call_path = "/ 템플릿" ;
//         문자열 경로 = Global.getProperty ( "VOUCHER_IMAGE_DIR"); 
        문자열 경로 = ";
        시도 { 
            문자열 fileName에 = ) (file.getOriginalFilename을; 
            문자열 날짜 = com.ronglian.bms.commons.utils.DateUtil.getDate ( "YYYYMMDD" ); 
            문자열 랜드 = RandomUtil.randomNumbers (3 ); 
            문자열 merchNo = s.getMerchNo ();
            경우 (StringUtils.isBlank (merchNo)) { 
                merchNo = Constants.ROOT_ORG_CODE; 
            } 
            문자열 lastStr = fileName.substring (fileName.lastIndexOf ( "." )); 
            경로 = + 경로 merchNo + '/' ;
            fileName에 = RAND + DATE + laststr, 
            디렉터리 파일 = 새로운 새로운 ; 파일 (경로, fileName에)
             IF (! {dir.exists ()) 
                dir.mkdirs (); 
            } 
            dir.setWritable ( true로 , 거짓에를 ) 
            file.transferTo을 (디렉터리 ); 
            // 실제 경로 사진 
            문자열 phy_path = ; dir.getPath ()
             // 이미지의 액세스 경로 
            문자열적인 filePath = call_path + "/"+ merchNo + "/"+ ; fileName에 
            logger.info ( + : "진정한 경로를 사진" phy_path을 ) 
            logger.info ("성공적으로 템플릿 경로를 업로드 :"+ 적인 filePath); 
            resultVo.setCode (ResultEnum.SUCCESS.getCode ()); 
            resultVo.setMsg (적인 filePath); 
        } 캐치 (IOException가 E) { 
            logger.error는 ( "오류 이유를 업로드" , E); 
        } 
        반환 resultVo을; 
    }

적인 filePath는 : HTTP : // IP : 포트 / 템플릿 / 사진 .JPG 그림 에코 경로는 다음과 같은 가상 경로를 사용해야합니다

3, 저장 및 에코

두 개의 물리적 경로의 진짜 그림, 가상 이미지에 대한 경로를 저장하거나 단지 그림에 대한 가상 경로를 유지, 데이터베이스에 이미지 경로를 저장;

참고 : 바람둥이의 가상 경로 구성은 프로젝트 이름에 구성되지 않은 프로젝트 리소스 액세스는 일반적으로 프로젝트 이름은,이 시간에 프로젝트 이름을 제거하거나 프로젝트 이름이 바람둥이로 구성 할 수 있습니다 때 가상 경로를 다시 구성해야합니다.

 

추천

출처www.cnblogs.com/fatTmonkey/p/11571967.html