<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      SpringBoot 文件上傳實踐

      背景:將上傳的文件,如圖片,寫入指定服務器路徑,保存起來。多文件上傳時,由于HttpServletRequest不能直接取出文件數據,所以將其強制轉換為MultipartHttpServletRequest。本文使用Postman模擬表單提交。

      1 MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
      2 Map<String,MultipartFile> files = multipartRequest.getFileMap();

      后臺實現:

      /**
           * @Title uploadFiles
           * @Description 測試多文件上傳
           * @date 2018-11-10 10:15
           */
          @PostMapping("/uploadFiles")
          public Map<String, Object> uploadFiles(HttpServletRequest req) {
              MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) req;
              // 無須知道上傳時文件對應的key,遍歷處理
              Map<String, MultipartFile> files = multipartRequest.getFileMap();
              String otherParam = req.getParameter("otherParam");
              Map<String, Object> data = new HashMap<>();
              for (MultipartFile value : files.values()) {
                  data = uploadFile(value);
                  int code = (int) data.get("code");
                  if (200 != code) {
                      return data;
                  }
              }
              data.put("code", 200);
              data.put("result", otherParam);
              return data;
          }
      
          /**
           * @Title uploadFile
           * @Description 逐個上傳
           * @date 2018-11-10 10:17
           */
          private Map<String, Object> uploadFile(MultipartFile file) {
              Map<String, Object> result = new HashMap<>();
              // 判斷文件是否為空
              if (file.isEmpty()) {
                  result.put("code", -1);
                  return result;
              }
              String fileName = file.getOriginalFilename();
              // 原文件名前加時間戳和隨機數,避免覆蓋文件
              String path = "D:/temp/" + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date());
              path = path + ((int) Math.random() * 999) + "_" + fileName;
              File dest = new File(path);
              if (dest.exists()) {
                  result.put("code", -2);
                  return result;
              }
              // 判斷文件父目錄是否存在
              if (!dest.getParentFile().exists()) {
                  dest.getParentFile().mkdir();
              }
              try {
                  file.transferTo(dest); // 保存文件
              } catch (IOException e) {
                  result.put("code", -3);
                  return result;
              }
              result.put("code", 200);
              return result;
          }

      Postman模擬提交時,配置如圖:

       

       

      環境:springBootVersion 版本 '1.5.3.RELEASE'。

      參考文獻:http://www.rzrgm.cn/chevin/p/9260842.html

       

      posted @ 2018-11-12 10:28  樓蘭胡楊  閱讀(713)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 国产成人精品性色av麻豆| 亚洲一区精品视频在线| 在线精品视频一区二区三四| 亚洲国产在一区二区三区| 亚洲一二三区精品美妇| 国产成人高清精品免费软件| AV免费播放一区二区三区| 黄色大全免费看国产精品| 国产成人8x视频一区二区| 亚洲AV日韩精品久久久久| 日本另类αv欧美另类aⅴ| 漂亮人妻中文字幕丝袜| 视频一区二区三区四区五区| 中文成人无字幕乱码精品区| 欧美变态口味重另类在线视频| 肉大榛一进一出免费视频| 国产一区二区三区小说| 国产精品无码av天天爽播放器 | 不卡在线一区二区三区视频| 荣昌县| 丰满少妇特黄一区二区三区| 国产高清自产拍av在线| 精品人妻午夜福利一区二区| 熟妇激情一区二区三区| 国产一区二区高清不卡| 亚洲久久色成人一二三区| 国产亚洲制服免视频| 熟女少妇精品一区二区| 在线亚洲+欧美+日本专区| 亚洲精品中文字幕一区二| 日本一区不卡高清更新二区| 50岁熟妇的呻吟声对白| 久久精品国产熟女亚洲av| 亚洲一区二区乱码精品| 亚洲国产成人久久综合人| 九九在线精品国产| 成年女人免费碰碰视频| 午夜精品久久久久久久爽| 久久久天堂国产精品女人| 亚洲综合天堂一区二区三区| 国产精品无码制服丝袜|