www.dextsolution.com
DEXTUPLOAD
JK
menu toggleリファレンス > dextuploadjk > engine > Environment

dextuploadjk.engine
Class Environment

最小サポートバージョン
1.0.0
最小サポート環境
Java 17, Jakarta EE 9+
説明

DEXTUploadJKはファイルのアップロードサービスを実行する上で、必要ないくつかの環境設定オプションを提供する。

純粋なJSP / Servlet環境では、Environmentの作成と設定
Environment env = new Environment(); 
env.setCharEncoding("UTF-8");
env.setTempRepository("/file/temp");
env.setDefaultRepository("file/attach");
env.setAutoMakingDirectory(true);
...
// 二番目パラメータを使用してEnvironmentオブジェクトを設定する。
FileUpload dextnj = new FileUpload(request, env);
// またはFileUploadクラスのsetEnvironmentメソッドを使用して設定することができる。
FileUpload dextnj = new FileUpload(request);
dextnj.setEnvironment(env);
大容量ファイルのアップロード環境では、Environmentの作成と設定

JKExtensionUploadFilter フィルタのinit-paramに設定する。

<filter>
    <filter-name>extensionUploadFilter</filter-name>
    <filter-class>dextuploadjk.support.common.JKExtensionUploadFilter</filter-class>
    <init-param>
      <param-name>tempRepository</param-name>
      <param-value>/file/temp</param-value>
    </init-param>
    <init-param>
      <param-name>defaultRepository</param-name>
      <param-value>/file/attach</param-value>
    </init-param>
    <init-param>
      <param-name>autoMakingDirectory</param-name>
      <param-value>true</param-value>
    </init-param>
    ...
</filter>
Spring Web Framework環境では、Environmentの作成と設定

Environment オブジェクトは、Spring Web Framework を使用するプロジェクトでは、サーブレットコンテキスト XML から Bean されます。

<bean id="environment" class="dextuploadjk.engine.Environment">
    <property name="tempRepository" value="/file/temp"/>
    <property name="defaultRepository" value="/file/attach"/>  
    <property name="autoMakingDirectory" value="true"/>
    ...
</bean>
<bean id="multipartResolver" 
    class="dextuploadjk.support.spring.JKMultipartResolver">
    <property name="environment" ref="environment"/>
</bean>
Spring Web Frameworkベースの大容量ファイルのアップロード環境では、Environmentの作成と設定

JKExtensionUploadFilter ではなく、JKMultipartResolverフィルタのinit-paramに設定する。

コンストラクタ

Environment

  • Environmentクラスのオブジェクトを生成する。
  • 形式

    public Environment()
メソッド

getTempRepository

  • 一時ファイルが格納されているディレクトリのパスを返します。
  • 形式

    public String getTempRepository()
  • リターン

    一時ファイルが格納されているディレクトリへのパス

setTempRepository

  • 一時ファイルが格納されているディレクトリへのパスを設定する。ディレクトリパスは、絶対パスでなければならない。

  • 形式

    public void setTempRepository(String tempRepositoryPath)
  • パラメータ

    名前 形式 説明
    tempRepositoryPath java.lang.String 一時ディレクトリのパス
  • 使い方

    # Environment オブジェクトに直接設定する場合
    Environment env = new Environment();
    env.setTempRepository("/home/user/temp");
    
    # SpringのDispatcherServletコンテキストXMLで設定する場合
    <property name="tempRepository" value="/home/user/temp"/>
    
    # ExtensionFileUploadFilterまたはJKSpringExtensionUploadFilterのパラメータに設定された場合
    <init-param>
      <param-name>tempRepository</param-name>
      <param-value>/home/user/temp</param-value>
    </init-param>

getDefaultRepository

  • ファイルが保存されるデフォルトのディレクトリのパスを返します。
  • 形式

    public String getDefaultRepository()
  • リターン

    ファイルが保存されるデフォルトのディレクトリのパス

setDefaultRepository

  • ファイルが保存されるデフォルトのディレクトリのパスを設定する。ディレクトリパスは、絶対パスである必要があります。

  • 形式

    public void setDefaultRepository(String defaultRepositoryPath)
  • パラメータ

    名前 形式 説明
    defaultRepositoryPath java.lang.String ファイルが保存されるデフォルトのディレクトリのパス
  • 使い方

    # Environment オブジェクトに直接設定する場合
    Environment env = new Environment();
    env.setDefaultRepository("/home/user/repository");
    
    # SpringのDispatcherServletコンテキストXMLで設定する場合
    <property name="defaultRepository" value="/home/user/repository"/>
    
    # JKExtensionUploadFilter または JKSpringExtensionUploadFilter パラメータで設定する場合
    <init-param>
      <param-name>defaultRepository</param-name>
      <param-value>/home/user/repository</param-value>
    </init-param>

getFileSeperator

  • ファイルまたはディレクトリのパス区切り文字を返します。

    リターンの値はSystem.getProperty("file.separator")と同一である。

  • 形式

    public String getFileSeperator()
  • リターン

    ファイルまたはディレクトリのパス区切り文字

getMaxFileSize

  • 個々のファイルの最大許容サイズを返します。

  • 形式

    public long getMaxFileSize()
  • リターン

    個々のファイルの最大許容サイズ

setMaxFileSize

  • 個々のファイルの最大許容サイズを設定する。

  • 形式

    public void setMaxFileSize(long maxFileSize)
  • パラメータ

    名前 形式 説明
    maxFileSize long 個々のファイルの最大許容サイズ(バイト単位)
  • 使い方

    # Environment オブジェクトに直接設定する場合
    Environment env = new Environment();
    env.setMaxFileSize(1024 * 1024 * 100);
    
    # SpringのDispatcherServletコンテキストXMLで設定する場合
    <property name="maxFileSize" value="104857600"/>
    
    # JKExtensionUploadFilter または JKSpringExtensionUploadFilter パラメータで設定する場合
    <init-param>
      <param-name>maxFileSize</param-name>
      <param-value>104857600</param-value>
    </init-param>

getMaxTotalSize

  • アップロードするファイル全体の最大許容サイズを返します。

  • 形式

    public long getMaxTotalSize()
  • リターン

    アップロードするファイル全体の最大許容サイズ

setMaxTotalSize

  • アップロードするファイル全体の最大許容サイズを設定する。

    もしサイズを0に設定すると、個々のファイルのサイズを確認していない。

    注意)WebサーバーまたはWASサーバーからの要求サイズ制限がある場合には、サーバー側の制限が優先される。

  • 形式

    public void setMaxTotalSize(long maxTotalSize)
  • パラメータ

    名前 形式 説明
    maxTotalSize long ファイル全体の最大許容サイズ(バイト単位)
  • 使い方

    # Environment オブジェクトに直接設定する場合
    Environment env = new Environment();
    env.setMaxTotalSize(1024 * 1024 * 100);
    
    # SpringのDispatcherServletコンテキストXMLで設定する場合
    <property name="maxTotalSize" value="104857600"/>
    
    # JKExtensionUploadFilter または JKSpringExtensionUploadFilter パラメータで設定する場合
    <init-param>
      <param-name>maxTotalSize</param-name>
      <param-value>104857600</param-value>
    </init-param>

    大きなファイルのアップロード環境では使用されませんが、バージョン2.5.0のsetMaxFileSizeと同じ効果があります。

getAutoMakingDirectory

  • ファイルを保存するときに、親ディレクトリが存在しない場合、ディレクトリを作成するかどうかを返します。

  • 形式

    public boolean getAutoMakingDirectory()
  • リターン

    ディレクトリの作成するかどうか

setAutoMakingDirectory

  • ファイルを保存するときに、親ディレクトリが存在しない場合、ディレクトリを作成するかどうかを設定する。

    注意)もしWebアプリケーションがディレクトリを作成する権限がない場合は、エラーが発生する。

  • 形式

    public void setAutoMakingDirectory(boolean autoMakingDirectory)
  • パラメータ

    名前 形式 説明
    autoMakingDirectory boolean 自動的に生成する場合はtrue、またはfalse
  • 使い方

    # Environment オブジェクトに直接設定する場合
    Environment env = new Environment();
    env.setAutoMakingDirectory(true);
    
    # SpringのDispatcherServletコンテキストXMLで設定する場合
    <property name="autoMakingDirectory" value="true"/>
    
    # JKExtensionUploadFilter または JKSpringExtensionUploadFilter パラメータで設定する場合
    <init-param>
      <param-name>autoMakingDirectory</param-name>
      <param-value>true</param-value>
    </init-param>

getCharEncoding

  • 本文の解釈のためのエンコード文字セットを返します。

  • 形式

    public String getCharEncoding()
  • リターン

    エンコード文字セット。デフォルト値は、UTF-8である。

setCharEncoding

  • 本文の解釈のためのエンコード文字セットを設定する。

    リクエストのエンコードと設定されたエンコーディングが異なる場合には、特殊文字やハングルが割れ現象が発生し、これは、ファイルを保存する時に問題になることができる。

  • 形式

    public void setCharEncoding(String encodingName)
  • パラメータ

    名前 形式 説明
    encodingName java.lang.String エンコード文字セット名前
  • 使い方

    # Environment オブジェクトに直接設定する場合
    Environment env = new Environment();
    env.setCharEncoding("UTF-8");
    
    # SpringのDispatcherServletコンテキストXMLで設定する場合
    <property name="charEncoding" value="UTF-8"/>
    
    # JKExtensionUploadFilter または JKSpringExtensionUploadFilter パラメータで設定する場合
    <init-param>
      <param-name>charEncoding</param-name>
      <param-value>UTF-8</param-value>
    </init-param>

getLicenseFilePath

  • ライセンスファイルのパスを返します。

  • 形式

    public String getLicenseFilePath()
  • リターン

    ライセンスファイルのパス

setLicenseFilePath

  • ライセンスファイルのパスを設定する。ライセンスファイルのパスは、絶対パスでなければならない。

  • 形式

    public void setLicenseFilePath(String licenseFilePath)
  • パラメータ

    名前 形式 説明
    licenseFilePath java.lang.String ライセンスファイルのパス
  • 使い方

    # Environment オブジェクトに直接設定する場合
    Environment env = new Environment();
    env.setLicenseFilePath("/home/user/license/dextuploadjk.config");
    
    # SpringのDispatcherServletコンテキストXMLで設定する場合
    <property name="licenseFilePath" value="/home/user/license/dextuploadjk.config"/>
    
    # JKExtensionUploadFilter または JKSpringExtensionUploadFilter パラメータで設定する場合
    <init-param>
      <param-name>licenseFilePath</param-name>
      <param-value>/home/user/license/dextuploadjk.config</param-value>
    </init-param>

setLicenseConfigXmlPath

  • ライセンスの管理、XMLファイルのパスを設定する。ライセンスの管理XMLファイルのパスは、絶対パスでなければならない。

  • 形式

    public void setLicenseConfigXmlPath(String licenseConfigXmlPath)
  • パラメータ

    名前 形式 説明
    licenseConfigXmlPath java.lang.String ライセンスの管理XMLファイルのパス
  • 使い方

    # Environment オブジェクトに直接設定する場合
    Environment env = new Environment();
    env.setLicenseConfigXmlPath("/home/user/license/dextuploadjk-licenses.xml");
    
    # SpringのDispatcherServletコンテキストXMLで設定する場合
    <property name="licenseConfigXmlPath" value="/home/user/license/dextuploadjk-licenses.xml"/>
    
    # JKExtensionUploadFilter または JKSpringExtensionUploadFilter パラメータで設定する場合
    <init-param>
      <param-name>licenseConfigXmlPath</param-name>
      <param-value>/home/user/license/dextuploadjk-licenses.xml</param-value>
    </init-param>

    詳細については、 のドキュメントを参照している。

getLicenseAuthKey

  • 認証キーの文字列を返します。

  • 形式

    public String getLicenseAuthKey()
  • リターン

    認証キーの文字列

setLicenseAuthKey

  • 認証キーの文字列を設定する。

  • 形式

    public void setLicenseAuthKey(String licenseAuthKey)
  • パラメータ

    名前 形式 説明
    licenseAuthKey java.lang.String 認証キーの文字列
  • 使い方

    # Environment オブジェクトに直接設定する場合
    Environment env = new Environment();
    env.setLicenseAuthKey("cfHzOu ...... rPTl1P");
    
    # SpringのDispatcherServletコンテキストXMLで設定する場合
    <property name="licenseAuthKey" value="cfHzOu ...... rPTl1P"/>
    
    # JKExtensionUploadFilter または JKSpringExtensionUploadFilter パラメータで設定する場合
    <init-param>
      <param-name>licenseAuthKey</param-name>
      <param-value>cfHzOu ...... rPTl1P</param-value>
    </init-param>

isCompact

  • リクエスト省略するかどうかを返します。

  • 形式

    public boolean isCompact()
  • リターン

    true, false

setCompact

  • リクエスト省略するかどうかを設定する。

    trueに設定された状態であれば、空いているファイルのエントリや、長さが0のファイルのエントリは、除去される。

  • 形式

    public void setCompact(boolean compact)
  • パラメータ

    名前 形式 説明
    compact boolean true, false
  • 使い方

    # Environment オブジェクトに直接設定する場合
    Environment env = new Environment();
    env.setCompact(true);
    
    # SpringのDispatcherServletコンテキストXMLで設定する場合
    <property name="compact" value="true"/>

    大容量ファイルのアップロード環境では使用されない。

getFilterAction

  • 限られたファイルの処理方法を返します。

  • 形式

    public FilterAction getFilterAction()
  • リターン

    FileActionの列挙定数

setFilterAction

  • 限られたファイルの処理方法を設定する。

    ファイルを処理する方法は、FilterAction 列挙型を参照すること。

  • 形式

    public void setFilterAction(FilterAction filterAction)
  • パラメータ

    名前 形式 説明
    filterAction devpia.dextupoadnj.FilterAction FileActionの列挙定数
  • 使い方

    # Environment オブジェクトに直接設定する場合
    Environment env = new Environment();
    env.setFilterAction(FilterAction.Flushing);
    
    # SpringのDispatcherServletコンテキストXMLで設定する場合
    <property name="filterAction" value="Flushing"/>

    大容量ファイルのアップロード環境では、常にFilterAction.Errorに処理される。

getWhiteExtensions

  • アップロードを許可するファイル拡張子のリストを返します。

  • 形式

    public String getWhiteExtensions()
  • リターン

    許可されている拡張子のリスト( '、'で区切って)

setWhiteExtensions

  • アップロードを許可するファイル拡張子のリストを設定する。

    ファイル拡張子には「,」文字がなく、ワイルドカードを使用できます。 ファイル拡張子のリストは、「,」文字で区切られた文字列です。

    ex) jpg,gif,png,docx,z*

  • 形式

    public void setWhiteExtensions(String whiteExtensions)
  • パラメータ

    名前 形式 説明
    whiteExtensions java.lang.Spring 許可されている拡張子のリスト( '、'で区切って)
  • 使い方

    # Environment オブジェクトに直接設定する場合
    Environment env = new Environment();
    env.setWhiteExtensions("jpg,png,gif,hwp,z??");
    
    # SpringのDispatcherServletコンテキストXMLで設定する場合
    <property name="whiteExtensions" value="jpg,png,gif,hwp,z??"/>
    
    # JKExtensionUploadFilter または JKSpringExtensionUploadFilter パラメータで設定する場合
    <init-param>
      <param-name>whiteExtensions</param-name>
      <param-value>jpg,png,gif,hwp,z??</param-value>
    </init-param>

getWhiteExtensionArray

  • アップロードを許可するファイル拡張子のリストを配列として返す。

  • 形式

    public String[] getWhiteExtensionArray()
  • リターン

    許可されている拡張子のリスト配列、設定された値がない場合、長さが0の配列がリターンになる。

isEnableCleaner

  • 一時ファイルとメタ情報ファイルを削除するクリーナー使用するかどうかを返します。

  • 形式

    public boolean isEnableCleaner()
  • リターン

    true, false

setEnableCleaner

  • 一時ファイルとメタ情報ファイルを削除するクリーナー使用するかどうかを設定する。

  • 形式

    public void setEnableCleaner(boolean enableCleaner)
  • パラメータ

    名前 形式 説明
    enableCleaner boolean true, false
  • 使い方

    # JKExtensionUploadFilter または JKSpringExtensionUploadFilter パラメータで設定する場合
    <init-param>
      <param-name>enableCleaner</param-name>
      <param-value>true</param-value>
    </init-param>

    JKExtensionUploadFilterまたはJKSpringExtensionUploadFilterを使用するファイルアップロード環境でのみ使用されます。

getTimeAgo

  • クリーナーが使用されるとき、削除される対象のファイルを選定するのに必要な基準時間を返します。

  • 形式

    public long getTimeAgo()
  • リターン

    時間単位の値

setTimeAgo

  • クリーナーが使用されるとき、削除される対象のファイルを選定する基準時間を設定する。

    クリーナーは、大容量ファイルのアップロードサービスでのみ使用される。

    timeAgo値は、時間の単位であり、現在の時刻から単位時間前のファイルはすべて削除対象となる。例)1時間:1は、1日:24

  • 形式

    public void setTimeAgo(long timeAgo)
  • パラメータ

    名前 形式 説明
    timeAgo long 例)1時間:1は、1日:24
  • 使い方

    # JKExtensionUploadFilter または JKSpringExtensionUploadFilter パラメータで設定する場合
    <init-param>
      <param-name>timeAgo</param-name>
      <param-value>24</param-value>
    </init-param>

    JKExtensionUploadFilterまたはJKSpringExtensionUploadFilterを使用するファイルアップロード環境でのみ使用されます。

getFileCopyOption

  • 内部的にファイルのコピーが行われるとき、ファイルをコピーする方法を返します。

  • 形式

    public FileCopyOption getFileCopyOption()
  • リターン

    デフォルトFileCopyOption.Channel

setFileCopyOption

  • 内部的にファイルのコピーが行われるとき、ファイルをコピーする方法を設定する。

    コピーの方法は, FileCopyOption 列挙型を参照すること。

    デフォルトはFileCopyOption.Channelある。

  • 形式

    public void setFileCopyOption(FileCopyOption fileCopyOption)
  • パラメータ

    名前 形式 説明
    fileCopyOption dextuplodjk.engine.FileCopyOption ファイルをコピーする方法を示す列挙型オブジェクト
  • 使い方

    # Environment オブジェクトに直接設定する場合
    Environment env = new Environment();
    env.setFileCopyOption(FileCopyOption.Stream);
    
    # SpringのDispatcherServletコンテキストXMLで設定する場合
    <property name="fileCopyOption" value="Stream"/>
    
    # JKExtensionUploadFilter または JKSpringExtensionUploadFilter パラメータで設定する場合
    <init-param>
      <param-name>fileCopyOption</param-name>
      <param-value>Stream</param-value>
    </init-param>

getFileCopyBufferSize

  • ファイルをコピーするとき、読み取り/書き込みするバッファのサイズを返します。

  • 形式

    public int getFileCopyBufferSize()
  • リターン

    デフォルト32KB

setFileCopyBufferSize

  • ファイルをコピーするとき、読み取り/書き込みするバッファのサイズを設定する。

    ファイルを移動ではなく、「Channel、ScatterGather」方法を使用したコピー操作をする際に使用されるバッファである。

    デフォルトは32KBです。

  • 形式

    public void setFileCopyBufferSize(int fileCopyBufferSize)
  • パラメータ

    名前 形式 説明
    fileCopyBufferSize int バイト単位のバッファのサイズ(8162)、範囲:4KB〜4MB
  • 使い方

    # Environment オブジェクトに直接設定する場合
    Environment env = new Environment();
    env.setFileCopyBufferSize(1048576);
    
    # SpringのDispatcherServletコンテキストXMLで設定する場合
    <property name="fileCopyBufferSize" value="1048576"/>
    
    # JKExtensionUploadFilter または JKSpringExtensionUploadFilter パラメータで設定する場合
    <init-param>
      <param-name>fileCopyBufferSize</param-name>
      <param-value>1048576</param-value>
    </init-param>

isLoosely ( 推奨されません)

  • マルチパートデータ分析が軽減されているかどうかを返します。

    デフォルトはfalseです。

  • 形式

    public boolean isLoosely()
  • リターン

    true, false

setLoosely (推奨されません)

  • マルチパートデータ分析を軽減するかどうかを設定します。

  • 形式

    public void setLoosely(boolean loosely)
  • パラメータ

    名前 形式 説明
    loosely boolean true, false
  • 使い方

    # Environment オブジェクトに直接設定する場合
    Environment env = new Environment();
    env.setLoosely(true);
    
    # SpringのDispatcherServletコンテキストXMLで設定する場合
    <property name="loosley" value="true"/>
    
    # JKExtensionUploadFilter または JKSpringExtensionUploadFilter パラメータで設定する場合
    <init-param>
      <param-name>loosley</param-name>
      <param-value>true</param-value>
    </init-param>

isChecksumEnable

  • ファイルのチェックサムを検証するかどうかを返します。

    デフォルトはfalseです。

  • 形式

    public boolean isChecksumEnable()
  • リターン

    true, false

setChecksumEnable

  • ファイルのチェックサムを検証するかどうかを設定します。

    この機能は、DEXTUploadX5製品(バージョン3.4.0.0以降)を使用した大容量ファイルアップロードモードでのみサポートされます。

  • 形式

    public void setChecksumEnable(boolean enable)
  • パラメータ

    名前 形式 説明
    enable boolean true, false
  • 使い方

    # JKExtensionUploadFilter または JKSpringExtensionUploadFilter パラメータで設定する場合
    <init-param>
      <param-name>checksumEnable</param-name>
      <param-value>true</param-value>
    </init-param>

getLimitFilenameRule

  • ファイル名に対するバリデーションをどのように行うかを返します。

    デフォルトは NamingRules.None です。

  • 形式

    public NamingRules getLimitFilenameRule()
  • リターン

    NamingRulesの列挙定数

setLimitFilenameRule

  • ファイル名に対するバリデーションの方法を設定します。

  • 形式

    public void setLimitFilenameRule(NamingRules limitFilenameRule)
  • パラメータ

    名前 形式 説明
    limitFilenameRule dextuploadjk.NamingRules NamingRulesの列挙定数
  • 使い方

    # Environment オブジェクトに直接設定する場合
    Environment env = new Environment();
    env.setLimitFilenameRule(NamingRules.Windows);
    
    # SpringのDispatcherServletコンテキストXMLで設定する場合
    <property name="limitFilenameRule" value="Windows"/>
    
    # JKExtensionUploadFilter または JKSpringExtensionUploadFilter パラメータで設定する場合
    <init-param>
      <param-name>limitFilenameRule</param-name>
      <param-value>Windows</param-value>
    </init-param>