springboot(3)使用MultipartFile上傳數據文件及項目打成jar包


MultipartFile 對象的transferTo方法,用於文件保存(效率和操作比原先用FileOutStream方便和高效)

private static final String filePath = "xxxxxxxxxxxx";

    @RequestMapping("/upload")
    public JsonData upload(@RequestParam("head_img") MultipartFile file, HttpServletRequest request){

        String name = request.getParameter("name");
        System.out.println("用戶名"+name);
        //獲取文件名
        String filename = file.getOriginalFilename();
        System.out.println("上傳的文件名稱"+filename);

        //獲取文件后綴名
        String suffixName = filename.substring(filename.lastIndexOf("."));
        System.out.println("上傳的文件后綴名稱"+suffixName);

        //文件上傳的路徑
        filename = UUID.randomUUID()+suffixName;
        System.out.println("修改后的文件名"+filename);

        File dest = new File(filePath+filename);

        try {
            file.transferTo(dest);
            return new JsonData("0","ok",filename);
        }catch (IOException e){
            e.printStackTrace();
        }
        return new JsonData("-1","fail",null);

jar包方式運行web項目的文件上傳和訪問處理

打包成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搭建一個簡單的文件服務器


  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM