All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.zodiac.autoconfigure.boot.servlet.PlatformMultipartUploadServletAutoConfiguration Maven / Gradle / Ivy

package org.zodiac.autoconfigure.boot.servlet;

import org.springframework.boot.SpringBootConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication;
import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication.Type;
import org.springframework.core.Ordered;
import org.springframework.core.annotation.Order;
import org.springframework.web.method.support.HandlerMethodArgumentResolver;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import org.zodiac.autoconfigure.boot.PlatformUploadFileProperties;
import org.zodiac.autoconfigure.boot.condition.ConditionalOnMultipartUploadEnabled;
import org.zodiac.boot.resolver.ServletTokenArgumentResolver;

import java.util.List;

@Order(value = Ordered.HIGHEST_PRECEDENCE)
@SpringBootConfiguration
@ConditionalOnMultipartUploadEnabled
@ConditionalOnWebApplication(type = Type.SERVLET)
//@EnableConfigurationProperties({PlatformUploadProperties.class, PlatformFileServletProperties.class})
@ConditionalOnClass(value = {org.zodiac.boot.config.PlatformUploadFileInfo.class, javax.servlet.Servlet.class, org.springframework.web.servlet.DispatcherServlet.class})
public class PlatformMultipartUploadServletAutoConfiguration implements WebMvcConfigurer {

    private final PlatformUploadFileProperties platformUploadFileProperties;

    public PlatformMultipartUploadServletAutoConfiguration(PlatformUploadFileProperties platformUploadFileProperties) {
        this.platformUploadFileProperties = platformUploadFileProperties;
    }

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        String path = platformUploadFileProperties.getSavePath();
        registry.addResourceHandler(String.format("%s/**", platformUploadFileProperties.getUploadPath())).addResourceLocations(String.format("file:%s%s/", path, platformUploadFileProperties.getUploadPath()));
    }

    @Override
    public void addArgumentResolvers(List argumentResolvers) {
        argumentResolvers.add(new ServletTokenArgumentResolver());
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy