www.dextsolution.com
DEXTUPLOAD
JK
menu toggleリファレンス > dextuploadjk > support > spring > JKFilesToZipDownloadView

dextuploadjk.support.spring
Class JKFilesToZipDownloadView

最小サポートバージョン
1.0.0
最小サポート環境
Java 17, Spring Framework 6.0.14, Spring Boot 3.0.12
説明

指定されたファイルを1つのzipファイルで囲み、ダウンロードを実行するビュークラスである。

@RequestMapping(value = "download-zip", method = RequestMethod.GET)
public ModelAndView downloadZip(...) {
    List<File> files = new ArrayList<File>();
    files.add(new File("/src/test/resources/compress/....txt"));
    files.add(new File("/src/test/resources/compress/....pdf"));
    files.add(new File("/src/test/resources/compress/subA/subB/....txt"));
    files.add(new File("/src/test/resources/compress/....jpg"));
    files.add(new File("/src/test/resources/compress/....docx"));
		
    JKFilesToZipDownloadView view = new JKFilesToZipDownloadView();
			
    view.setEntries(files);
    view.setCharsetName("UTF-8");
			
    return new ModelAndView(view);
}

JKFilesToZipDownloadView ビューを使用すると、リンク先のファイルを圧縮した後、すぐにダウンロードを実行する。

ダウンロードが完了すると、内部的に圧縮ファイルを直接削除し、圧縮ダウンロードはpartial contentダウンロードをサポートしていない。

もし圧縮されたファイルを削除せずに再するには、JKFilesToZipDownloadViewビュークラスではなく、 CompressUtil クラスを直接使用して圧縮ファイルを作成した後、 JKFileDownloadView ビュークラスを使用してダウンロードする必要がある。

@RequestMapping(value = "download-zip", method = RequestMethod.GET)
public ModelAndView downloadZip(...) {
    List<File> files = new ArrayList<File>();
    files.add(new File("/src/test/resources/compress/....txt"));
    files.add(new File("/src/test/resources/compress/....pdf"));
    files.add(new File("/src/test/resources/compress/subA/subB/....txt"));
    files.add(new File("/src/test/resources/compress/....jpg"));
    files.add(new File("/src/test/resources/compress/....docx"));
    
    // CompressUtilを使用して圧縮ファイルを生成する。
    CompressUtil zipper = new CompressUtil();
    File zipped = zipper.zip(entries, "/tmp", "UTF-8", false, true);
		
    // ファイルをダウンロードするためにJKFileDownloadViewオブジェクトを生成する。
    JKFileDownloadView view = new JKFileDownloadView();
    
    view.setFile(zipped);
    view.setFilename("ダウンロードするファイル名");
    view.setMime("application/x-zip-compressed");
    view.setUseClientCache(false);
    view.setCharsetName("UTF-8");
    
    return new ModelAndView(view);
}
コンストラクタ

JKFilesToZipDownloadView

  • Create a JKFilesToZipDownloadView オブジェクトを生成する。

  • 形式

    public JKFilesToZipDownloadView()
    public JKFilesToZipDownloadView(List<File> entries)
    public JKFilesToZipDownloadView(List<File> entries, String filename)
    public JKFilesToZipDownloadView(List<File> entries, List<String> entryNames, String filename)
  • パラメータ

    名前 形式 説明
    entries java.util.List<java.io.File> 圧縮するファイルのリストを指すオブジェクト
    filename java.lang.String クライアントがダウンロードファイル名
    entryNames java.util.List<java.lang.String>

    圧縮するファイルの名前のリストであり、entriesパラメータのサイズと同じでなければなりません。

メソッド

getEntries

  • 圧縮するファイルのリストを指すjava.util.Listオブジェクトを返します。

  • 形式

    public List<File> getEntries()
  • リターン

    圧縮するファイルのリストを指すjava.util.Listオブジェクト

setEntries

  • 圧縮するファイルのリストを指すjava.util.Listオブジェクトを設定する。

  • 形式

    public void setEntries(List<File> entries)
  • パラメータ

    名前 形式 説明
    entries java.util.List<java.io.File> 圧縮するファイルのリストを指すオブジェクト

getTempZipRepositoryPath

  • zipファイルが作成される一時ディレクトリを表すパスを返します。

  • 形式

    public String getTempZipRepositoryPath()
  • リターン

    zipファイルが作成される一時ディレクトリを示すパス

setTempZipRepositoryPath

  • zipファイルが作成される一時ディレクトリを表すパスを設定する。

  • 形式

    public void setTempZipRepositoryPath(String tempZipRepositoryPath)
  • パラメータ

    名前 形式 説明
    tempZipRepositoryPath java.lang.String 一時ディレクトリを示すパス

getZipCharsetName

  • 多言語を使用するファイル名をエンコードする過程で使用する文字セット名前を返します。

  • 形式

    public String getZipCharsetName()
  • リターン

    多言語を使用するファイル名をエンコードする過程で使用する文字セット名前

setZipCharsetName

  • 多言語を使用するファイル名をエンコードする過程で使用する文字セット名前を設定する。

  • 形式

    public void setZipCharsetName(String zipCharsetName)
  • パラメータ

    名前 形式 説明
    zipCharsetName java.lang.String 多言語を使用するファイル名をエンコードする過程で使用する文字セット名前

isIncludeHiddenFile

  • 圧縮するとき、隠しファイルも圧縮するかどうかを返します。

  • 形式

    public boolean isIncludeHiddenFile()
  • リターン

    true, false

setIncludeHiddenFile

  • 圧縮するとき、隠しファイルも圧縮するかどうかを設定する。

  • 形式

    public void setIncludeHiddenFile(boolean includeHiddenFile)
  • パラメータ

    名前 形式 説明
    includeHiddenFile boolean パラメータの値がtrueの場合、隠しファイルも圧縮対象となる。

getEntryNames

  • 圧縮するファイルの名前のリストを返します。

  • 形式

    public List<String> getEntryNames()
  • リターン

    圧縮するファイルの名前のリスト

setEntryNames

  • 圧縮するファイルの名前のリストを設定します。

  • 形式

    public void setEntryNames(List<String> entryNames)
  • パラメータ

    名前 形式 説明
    entryNames List<String> 圧縮するファイルの名前のリスト

getFile

JKFileDownloadView クラスの getFileメソッドを参照すること。

setFile

JKFileDownloadView クラスの setFileメソッドを参照すること。

isAllowingWeakRange

JKFileDownloadView クラスの isAllowingWeakRangeメソッドを参照すること。

setAllowingWeakRange

JKFileDownloadView クラスの setAllowingWeakRangeメソッドを参照すること。

isUseClientCache

JKFileDownloadView クラスの isUseClientCacheメソッドを参照すること。

setUseClientCache

JKFileDownloadView クラスの setUseClientCacheメソッドを参照すること。

isRemoveAfterDownloading

JKFileDownloadView クラスの isRemoveAfterDownloadingメソッドを参照すること。

setRemoveAfterDownloading

JKFileDownloadView クラスの setRemoveAfterDownloadingメソッドを参照すること。

getUseTomcatSendFile

JKFileDownloadView クラスのgetUseTomcatSendFileメソッドを参照すること。

setUseTomcatSendFile

JKFileDownloadView クラスのsetUseTomcatSendFileメソッドを参照すること。

doRenderImpl

JKAbstractDownloadableView 抽象 クラスの doRenderImplメソッドを参照すること。

getFilename

JKAbstractDownloadableView 抽象 クラスの getFilenameメソッドを参照すること。

setFilename

JKAbstractDownloadableView 抽象 クラスの setFilenameメソッドを参照すること。

getMime

JKAbstractDownloadableView 抽象 クラスの getMimeメソッドを参照すること。

setMime

setMime the JKAbstractDownloadableView 抽象 クラスの setMimeメソッドを参照すること。

isInline

isInline the JKAbstractDownloadableView 抽象 クラスの isInlineメソッドを参照すること。

setInline

setInline the JKAbstractDownloadableView 抽象 クラスの setInlineメソッドを参照すること。

getCharsetName

getCharsetName the JKAbstractDownloadableView 抽象 クラスの getCharsetNameメソッドを参照すること。

setCharsetName

setCharsetName the JKAbstractDownloadableView 抽象 クラスの setCharsetNameメソッドを参照すること。

getDownloadStreamBufferSize

JKAbstractDownloadableView 抽象 クラスの getDownloadStreamBufferSizeメソッドを参照すること。

setDownloadStreamBufferSize

JKAbstractDownloadableView 抽象 クラスの setDownloadStreamBufferSize メソッドを参照すること。

getContentDisposition

JKAbstractDownloadableView 抽象 クラスの getContentDisposition メソッドを参照すること。

setContentDisposition

JKAbstractDownloadableView 抽象 クラスの setContentDisposition メソッドを参照すること。