一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Maven項目web多圖片上傳及格式驗證的實現

Maven項目web多圖片上傳及格式驗證的實現

2022-02-24 01:02hah楊大仙 Java教程

本文主要介紹了Maven項目web多圖片上傳及格式驗證的實現,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

先來展示一下效果

Maven項目web多圖片上傳及格式驗證的實現

客戶在添加的時候進入添加頁面,需要上傳文件時的相關頁面及代碼

:前端頁面重要代碼,multiple的作用是支持多圖片上傳,此處點擊事件一定要使用onchange事件,切記不要誤用onclick事件!!

Maven項目web多圖片上傳及格式驗證的實現

 注:<c:forTokens>標簽的作用是以 delims 中的值分割循環遍歷

以下為前端頁面對應的onchange事件的代碼及解析

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
//jQuery函數 對應上面的onchange事件
   function uploadFile() {
       //由于該JSP頁面只有一個表單,因此只需要定義下標為0即可指定當前表單
       let formData = new FormData($("form")[0]);
       //關鍵代碼:ajax異步上傳圖片
       $.ajax({
           url: "uploadFile",//此處對應controller控制層中RequestMapping注解中的值
           data: formData,//需要上傳的表單數據
           type: "post",//此處要用post方式上傳,原因是get方式對上傳文件大小有限制
           //processData 默認為true,當設置為true的時候,jquery ajax 提交的時候不會序列化 data,而是直接使用data
           processData: false,
           //ajax 中 contentType 設置為 false 是為了避免 JQuery 對其操作,從而失去分界符,而使服務器不能正常解析文件。
           contentType: false,
           success: function (msg) {
               //判斷校驗上傳文件的格式是否為常用圖片類型\
               let str = "";
               let split = msg.split(",");//用逗號切割 為數組
               let flag = false;
               for (let i = 0; i < split.length; i++) {
                   if (split[i].endsWith(".jpg") || split[i].endsWith(".png") || split[i].endsWith(".bmp") || split[i].endsWith(".jpeg") || split[i].endsWith(".gif")) {
                       flag = true;
                   } else {
                       //一旦不滿足上面的條件,就將旗幟flag設置為false,并打破循環
                       flag = false;
                       break;
                   }
                   //循環遍歷數組拼接字符串,src中需要添加虛擬路徑
                   str += '<img src="/img/' + split[i] + '" width="50" height="50">';
               }
               if (flag) {
                   $("[name=img]").val(msg)
                   $("#sp1").html(str)
               } else {
                   alert("上傳圖片格式錯誤!!")
                   $("[name=img]").val("")//清空之前的代碼,后臺JSR303自動校驗不能為空
               }
           }
       })
   }

接下來看一下后臺controller層的圖片上傳代碼及解析

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//@RequestMapping是一個用來處理請求地址映射的注解,可用于類或方法上。
//@RequestParam:將請求參數綁定到后臺控制器的方法參數上(是springmvc中接收普通參數的注解)(以此確保和前端頁面name屬性中的值一致)
    @RequestMapping("uploadFile")
    @ResponseBody //加上 @ResponseBody 后,會直接返回 json 數據。
    public String uploadFile(@RequestParam("file") MultipartFile[] files) throws IOException {
        //要存放圖片的本機地址
        String path = "D://img";
        String[] fileNames = new String[files.length];
        String imgs = "";
        for (int i = 0; i < fileNames.length; i++) {
            //UUID用于隨機生成不重復的文件名
            // getOriginalFilename()該方法用于獲取前臺上傳文件的名稱,和UUID做此處理確保上傳的文件名唯一
            fileNames[i] = UUID.randomUUID().toString() + files[i].getOriginalFilename();
            File file = new File(path, fileNames[i]);
            files[i].transferTo(file);//把文件路徑所指向的文件上傳到對應的目錄下。
            imgs += "," + fileNames[i];
        }
        //截取imgs頭部多出來的逗號
        imgs = imgs.substring(1);
        return imgs;
    }

以上就為 Maven項目web多圖片上傳+上傳文件的格式驗證

到此這篇關于Maven項目web多圖片上傳及格式驗證的實現的文章就介紹到這了,更多相關Maven web多圖片上傳內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://blog.csdn.net/m0_55710969/article/details/120859330

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲精品短视频 | 亚洲人和日本人hd | 青青青国产在线观看 | 青青国产精品 | 99 久久99久久精品免观看 | 国产亚洲成归v人片在线观看 | 国产a一级毛片爽爽影院 | 精品一区二区高清在线观看 | 攻插受 | sss亚洲国产欧美一区二区 | 亚洲色图欧美视频 | 国产精品思瑞在线观看 | 日本丰满大乳乳奶 | 97porm自拍视频区原创 | 国产精品激情综合久久 | 精品亚洲456在线播放 | 日本老师xxxxx18 | 日本美女视频韩国视频网站免费 | 国产精品久热 | 免费港剧在线观看港剧 | 国产aaa伦理片 | 国产午夜久久精品 | 草莓视频旧版 | 91久久偷偷做嫩草影院免费 | 亚1洲二区三区四区免费 | 热门小说同人h改编h | 久久国产36精品色熟妇 | 爽爽窝窝午夜精品一区二区 | 湿好紧太硬了我太爽了 | 天天干天天爽天天操 | 洗濯屋H纯肉动漫在线观看 武侠艳妇屈辱的张开双腿 午夜在线观看免费观看 视频 | 国内免费高清视频在线观看 | 久久免费看少妇高潮A片JA | 亚洲福利一区 | 国产资源免费观看 | 亚洲精品tv久久久久久久久久 | 久久99re8热在线播放 | 大学生宿舍飞机 free | 成人啪啪漫画羞羞漫画www网站 | 成人欧美一区二区三区黑人 | 天天干夜夜玩 |