欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

江帥帥:精通SpringBoot系列06-創(chuàng)新互聯(lián)

Spring Boot 文件的上傳下載

站在用戶的角度思考問題,與客戶深入溝通,找到瓦房店網(wǎng)站設(shè)計(jì)與瓦房店網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都網(wǎng)站制作、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名注冊(cè)、網(wǎng)頁(yè)空間、企業(yè)郵箱。業(yè)務(wù)覆蓋瓦房店地區(qū)。

說(shuō)真的,在 Spring Boot 實(shí)現(xiàn)文件下載,真的是方便到讓我顫抖。Java 中實(shí)現(xiàn)文件上傳可以用兩個(gè)組件:CommonMultipartResolver 和 StandardServletMultipartResolver。

Spring Boot 在 web 模塊中集成了 Spring MVC ,文件上傳這塊兒的支持是可以通過(guò)即插即用的 MultipartResolver 實(shí)現(xiàn)類:CommonMultipartResolver。如果用它,則需要使用 commons-fileupload 組件來(lái)處理。

Spring Boot 提供的文件上傳自動(dòng)化配置類是 MultipartAutoConfiguration 中默認(rèn)使用了 StandardServletMultipartResolver,在上傳文件甚至能夠做到零配置。

1. 單文件上傳

1)添加 fileUpload.html 文件

在上傳頁(yè)面的表單中,添加一個(gè) type 為 file 的控件,用來(lái)選擇需要上傳的圖片文件。上傳的接口是“/upload”,另外 method 要設(shè)置為“post”,還有 enctype 要設(shè)置為“multipart/form-data”,代碼具體如下:

    
    upload

2)添加 FileUploadController 文件

首先,設(shè)置我們的文件上傳路徑為項(xiàng)目運(yùn)行目錄下的 upload 文件夾。然后,我們用 MultipartFile 來(lái)綁定上傳的文件,使用 transferTo() 方法可以非常方便實(shí)現(xiàn)文件存儲(chǔ)到磁盤當(dāng)中。具體實(shí)現(xiàn)代碼如下:

()
{
    String path = req.getSession().getServletContext().getRealPath();
    File folder =  File(path);
     (!folder.isDirectory()) {
        folder.mkdirs();
    }
    String oName = uploadFile.getOriginalFilename();
    String nName = UUID.randomUUID().toString() + oName.substring(oName.lastIndexOf(), oName.length());
     {
        uploadFile.transferTo( File(folder + File.separator + nName));
        String filePath = req.getScheme() +  + req.getServerName() +  + req.getServerPort() +  + nName;
         ;
    }  (IOException ex) {
        ex.printStackTrace();
    }
     ;
}

地址欄中,輸入 http://localhost:8080/fileUpload.html 選擇文件上傳,具體運(yùn)行效果如下:

江帥帥:精通 Spring Boot 系列 06

江帥帥:精通 Spring Boot 系列 06

2. 采用對(duì)象方式來(lái)上傳文件

很多時(shí)候的上傳操作,也都會(huì)把文件作為對(duì)象的屬性進(jìn)行保存,具體如何實(shí)現(xiàn)?下面通過(guò)注冊(cè)頁(yè)面,填寫用戶的相關(guān)信息,然后點(diǎn)擊注冊(cè)來(lái)上傳 User 對(duì)象。

1)添加 fileUpload2.html 文件

通過(guò)一個(gè)表單,來(lái)收集用戶的具體信息,然后點(diǎn)擊“注冊(cè)用戶”按鈕即可提交 /register 注冊(cè)請(qǐng)求。代碼具體如下:

    
        用戶名:
        密碼:
        頭像:

2)添加 User 類

User 類主要是用來(lái)封裝用戶信息的,其中 MultipartFile 類型的 pic 是用來(lái)接收上傳的圖像文件。

 {
     String username;
     String password;
     MultipartFile pic;
    
}

3)添加 userRegister() 方法

在 userRegister() 方法形參列表中,使用 @ModelAttribute 注解將表單提交的數(shù)據(jù)綁定到 User 對(duì)象中,其中圖片會(huì)保存到 User 的 pic 屬性中,然后轉(zhuǎn)換為 Multipart 類型。文件上傳成功之后,所有的用戶信息都保存到 model 當(dāng)中。

 {
    ()
    {
         (!user.getPic().isEmpty()) {
            String picPath = req.getServletContext().getRealPath();
            String picName = user.getPic().getOriginalFilename();
            File filePath =  File(picPath, picName);
             (!filePath.getParentFile().exists()){
                filePath.getParentFile().mkdirs();
            }
            user.getPic().transferTo( File(picPath + File.separator + picName));
            model.addAttribute(, user);
             ;
        }  {
             ;
        }
    }
}

3)在 templates 目錄中,添加 userMsg.html 文件

    
        
            
            用戶名

運(yùn)行效果,具體如下:

江帥帥:精通 Spring Boot 系列 06

3. 多文件上傳

1)添加 fileUpload2.html 頁(yè)面
    選第一張圖片:
    選第二張圖片:
    選第三張圖片:
2)添加 uploadFiles() 方法
()
{
    String path = req.getSession().getServletContext().getRealPath();
    File folder =  File(path);
     (!folder.isDirectory()) {
        folder.mkdirs();
    }
     ( != uploadFiles && uploadFiles.length > ) {
         (MultipartFile uploadFile : uploadFiles) {
            String oName = uploadFile.getOriginalFilename();
            String nName = UUID.randomUUID().toString() + oName.substring(oName.lastIndexOf(), oName.length());
             {
                uploadFile.transferTo( File(folder, nName));
                 ;
            }  (IOException ex) {
                ex.printStackTrace();
            }
        }
    }
     ;
}

運(yùn)行結(jié)果,具體如下:

江帥帥:精通 Spring Boot 系列 06

4. 文件下載

1)編輯 userMsg.html 頁(yè)面
    
        
        用戶名
        下載頭像
2)添加 downloadPic() 方法

這里使用了 ResponseEntity 類型,就能定義返回的 HttpHeaders、BodyBuilder 和 HttpStatus,然后返回客戶端下載。

(value=)
 ResponseEntity<[]> downloadPic(HttpServletRequest request, () String filename, () String userAgent, Model model) Exception{
    String path = request.getServletContext().getRealPath(
        );
    File file =  File(path + File.separator + filename);
    BodyBuilder builder = ResponseEntity.ok();
    builder.contentLength(file.length());
    
    builder.contentType(MediaType.APPLICATION_OCTET_STREAM);
    
    filename = URLEncoder.encode(filename, );
     (userAgent.indexOf() > ) {
        
        builder.header(,  + filename);
    }  {
        
        builder.header(,  + filename);
    }
     builder.body(FileUtils.readFileToByteArray(file));
}

運(yùn)行效果,具體如下:

江帥帥:精通 Spring Boot 系列 06

免費(fèi)領(lǐng)取更多技術(shù)資料及視頻

江帥帥:精通 Spring Boot 系列 06

本文來(lái)源于:奈學(xué)開發(fā)者社區(qū)-江帥帥

本文名稱:江帥帥:精通SpringBoot系列06-創(chuàng)新互聯(lián)
文章URL:http://aaarwkj.com/article14/dpppge.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、營(yíng)銷型網(wǎng)站建設(shè)服務(wù)器托管、網(wǎng)站改版App開發(fā)、企業(yè)網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司
日本岛国一区二区在线| 极品丝袜美腿一区二区| 91国内精品手机在线高清| 日本一区二区高清在线观看| 亚洲综合一区二区精品久久| 麻豆精东传媒一区二区| 蜜桃人妻av一区二区三区| 久久亚洲天堂色图不卡| 青青草免费在线视频蜜臀| 日韩有码一区在线观看| 国产精品传媒在线观看网站| 久激情内射婷内射蜜桃| 美国一级二级三级黄片| 久久香蕉精品国产亚洲av| 免费无遮挡18禁视频| 亚洲一区二区三区日韩欧美| 国产我不卡在线观看免费| 日本高清不卡在线观看| 日本熟女午夜福利视频| 精品亚洲一区二区三区四| 91在线国内在线观看| 欧美日韩综合人妻丝袜偷拍 | 黄色成人av在线网站| 亚洲激情中文字幕av网| 国产成人午夜视频免费一区| 国产一区二区黄色网页| 亚洲丰满一区二区三区在线| 亚洲欧美日韩香蕉在线观看| 亚洲激情av在线观看| 国产成人精品高清国产三级| 一区三区三区日韩高清不卡| 久久精品国产成人综合| 黑人精品一区二区三区| 亚洲av日韩欧美精品| 国产综合精品一区二区| 国产精品一级二区三区| 国产精品一区二区熟女| 91青青草原在线视频| 国产精品夜色一区二区三区不卡 | 免费av中文字幕电影| 高清欧美大片免费观看|