001/**
002 * Copyright (c) 2015-2022, Michael Yang 杨福海 (fuhai999@gmail.com).
003 * <p>
004 * Licensed under the Apache License, Version 2.0 (the "License");
005 * you may not use this file except in compliance with the License.
006 * You may obtain a copy of the License at
007 * <p>
008 * http://www.apache.org/licenses/LICENSE-2.0
009 * <p>
010 * Unless required by applicable law or agreed to in writing, software
011 * distributed under the License is distributed on an "AS IS" BASIS,
012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013 * See the License for the specific language governing permissions and
014 * limitations under the License.
015 */
016package io.jboot.web.attachment;
017
018import com.jfinal.kit.PathKit;
019import io.jboot.Jboot;
020import io.jboot.app.config.annotation.ConfigModel;
021
022import java.io.File;
023
024/**
025 * @author michael yang (fuhai999@gmail.com)
026 */
027@ConfigModel(prefix = "jboot.attachment")
028public class LocalAttachmentContainerConfig {
029
030    private String rootPath = PathKit.getWebRootPath();
031    private String targetPrefix = "/attachment";
032
033    public String getRootPath() {
034        return rootPath;
035    }
036
037    public void setRootPath(String rootPath) {
038        this.rootPath = rootPath;
039    }
040
041    public String getTargetPrefix() {
042        return targetPrefix;
043    }
044
045    public void setTargetPrefix(String targetPrefix) {
046        this.targetPrefix = targetPrefix;
047    }
048
049    public static LocalAttachmentContainerConfig getInstance() {
050        return Jboot.config(LocalAttachmentContainerConfig.class);
051    }
052
053    public String buildUploadAbsolutePath() {
054        return new File(rootPath, targetPrefix).getAbsolutePath();
055    }
056}