Tomcatは、ファイル、画像をアップロードするために仮想パスを設定します

、Tomcatの設定

1. service.xmlファイルを変更し、Tomcatのインストールディレクトリにあるconfディレクトリ(tomcatに/ confに/ service.xmlに)を検索します。

パス:/先頭に仮想パス。

文書ベース:ディスク・パス(絶対パス)、ドライブレター(D:/テンプレート)とWindows環境次のように起動し、Linux環境です。

リロード:web.xmlのは自動的にリロードされます変更や授業時間があるときに真でサービスを再起動する必要はありません。

< コンテキストパス= "/テンプレート" 文書ベース= "/ホーム/テンプレート" リロード= "真"  />

 

注:追加の構成は、<ホスト> </ホスト>配置するタグを必要とします。

コンフィギュレーションサーバの仮想パスが資源の希望ですので、我々は第二のTomcatの負荷を増大させ、としてプロジェクトにプロジェクトにや尊敬のTomcatとリソースで、すべての最初の、一緒に独立したリソースを文書ベースパスとTomcatをお勧めしません。

2、アップロード

リソースは下のリソースをアップロードする際に文書ベース(絶対パス)パスにアップロードする必要があります

   @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; 
            DIRファイル = 新しい新しいファイル(パス、ファイル名);
             IF(!dir.exists()){ 
                dir.mkdirs(); 
            } 
            (dir.setWritable trueにfalseに); 
            file.transferTo(DIR ); 
            // 画像の物理パス 
            文字列phy_path = dir.getPath();
             // 画像のアクセス・パス 
            文字列filePathに= call_path + "/" + merchNo + "/" + ファイル名; 
            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、保存してエコー

2、物理パスの本当の絵、仮想イメージのパスを保存し、または唯一の絵への仮想パスを保持し、データベースへのイメージパスを保存します。

注:Tomcatの仮想パスの設定はプロジェクト名に設定されていないプロジェクト名を持つ、プロジェクトのリソースへのアクセスは、一般的に、この時点で、プロジェクト名を削除する必要があるか、プロジェクト名にTomcatに構成することができ、再構成された仮想パス。

 

おすすめ

転載: www.cnblogs.com/fatTmonkey/p/11571967.html