zoukankan      html  css  js  c++  java
  • 小D课堂

    笔记

    8、jar包方式运行web项目的文件上传和访问处理(核心知识)
        简介:讲解SpingBoot2.x使用 java -jar运行方式的图片上传和访问处理

        1、文件大小配置,启动类里面配置
            
                @Bean  
                public MultipartConfigElement multipartConfigElement() {  
                    MultipartConfigFactory factory = new MultipartConfigFactory();  
                    //单个文件最大  
                    factory.setMaxFileSize("10240KB"); //KB,MB  
                    /// 设置总上传数据总大小  
                    factory.setMaxRequestSize("1024000KB");  
                    return factory.createMultipartConfig();  
                }  

        2、打包成jar包,需要增加maven依赖
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.springframework.boot</groupId>
                        <artifactId>spring-boot-maven-plugin</artifactId>
                    </plugin>
                </plugins>
            </build>
            如果没加相关依赖,执行maven打包,运行后会报错:no main manifest attribute, in XXX.jar

            GUI:反编译工具,作用就是用于把class文件转换成java文件

        3、文件上传和访问需要指定磁盘路径
            application.properties中增加下面配置
                1) web.images-path=/Users/jack/Desktop
                2) spring.resources.static-locations=classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,classpath:/test/,file:${web.upload-path} 

        4、文件服务器:fastdfs,阿里云oss,nginx搭建一个简单的文件服务器

    开始

    上传一个大文件


    文件超过了最大的限制


    把代码复制到application启动类里面

    一定要是带@SpringBootConfiguration的类里面

    SpringBootConfiguration注解里面包含了@Configuration这个注解


    引入对应的包后。

    启动应用。

    上传的这个图片1.2M

    上传成功了

    打成jar包

    打包当前项目

    打包成功



    打包后会放在target的目录里面

    运行这个jar包

    错误:找不到入口启动类


    打包的时候需要一个maven的依赖

    这是spring-boot提供的插件。帮我打包成一个jar包

    再次打包







    把压缩包解压出来

    BOOT-INF:字节码文件和依赖的jar包

    MAINFEST.MF:最主要的是Main-Class:类加载器 加载我们对应的应用

    Start-Class:入口。刚才的jar包报错就是找到XdclassApplication

    就是我们源码的这里

    配置上传的固定路径




    第二行配置最后加一行

    这里先把上传路径写死到这里。因为我们还没有学习读取配置文件。之类暂时把路径写死

    再次打包



    运行 程序

    上传一个图片

    因为配置的是桌面上,所以上传到了桌面上

    也就是配置的这个目录:User/jack/Desktop


    可以直接访问这个图片

    扩展知识



     

  • 相关阅读:
    [Matlab] 短时傅里叶变换spectrogram函数
    [Word] Word中保存出矢量图
    [Matlab] Matlab 2020b Release Note
    [Matlab] Matlab 2020b Release Note
    [Matlab] Matlab 2020b Release Note
    [Matlab] Matlab 2020b Release Note
    [Matlab] 画图颜色扩展
    [脑电相关] 关于ERD现象
    [PPT技巧] PPT箭头设置及文字设置
    linux 新添加的硬盘格式化并挂载到目录下方法
  • 原文地址:https://www.cnblogs.com/wangjunwei/p/11397504.html
Copyright © 2011-2022 走看看