springboot에서 파일 업로드 경로와 서버 오픈 경로에 대한 코드 쓰기

2025 단어 spring-boot
프런트엔드에서 파일/흐름/base64 문자열이 전송됩니다.백엔드 저장 (1) 서버 로컬 디스크의 경로가 필요합니다. 로컬 디스크의 경우 동적으로 프로젝트의 동급 디렉터리로 이동하여 새 폴더로 저장해야 합니다.
 public static String getSavePath() throws FileNotFoundException {
        //  
        File path = new File(ResourceUtils.getURL("classpath:").getPath());
        if (!path.exists())
            path = new File("");
        //  = + 
        File upload = new File(path.getAbsolutePath(), "static/pic/");
        if (!upload.exists())
            upload.mkdirs();
        System.err.println("path1::" + upload.getAbsolutePath());//path1 , src 
        //  = + 
//        String path2 = ClassUtils.getDefaultClassLoader().getResource("").getPath();
//        System.err.println("path2"+path2);//path2 ,/target/classes/
        return upload.getAbsolutePath();
    }

뒤에 다시 철자를 써라.jpg면 돼요.
(2) 서버 URL 경로도 필요하고 전방 접근을 위한 동적 접근을 요구합니다
@Component
public class ServerAddressAndPort implements ApplicationListener {
    private int serverPort;

    public String getUrl() throws UnknownHostException {
        InetAddress address = null;
        address = InetAddress.getLocalHost();
        return "http://" + address.getHostAddress() + ":" + this.serverPort;
    }

    @Override
    public void onApplicationEvent(WebServerInitializedEvent event) {
        this.serverPort = event.getWebServer().getPort();
    }

}

마찬가지로, 뒤에 철자를 써라.jpg면 돼요.

springmvc 정적 접근 자원 설정

spring:
  mvc:
    static-path-pattern: /**
  resources:
    static-locations: classpath:/META-INF/resources/,classpath:/resources/,\
      classpath:/static/static/,classpath:/static/,classpath:/public/,file:${web.upload-path},file:./static/pic/

file:./static/pic/대표 프로젝트의 동급 디렉터리입니다. 이것은 상대 경로의 쓰기 파일입니다. xxx/xxx/xxx입니다. 이것은 절대 경로의 쓰기 이쪽의 요점입니다. static-locations는 기본 정적 자원 경로의 설정 정보를 덮어쓰기 때문에 원래 설정된 정적 경로를 다시 보충해야 합니다.

좋은 웹페이지 즐겨찾기