javascript
ElementUI中el-upload传递额外参数为date类型时后台SpringBoot接收不到
場景
ElementUI中el-upload怎樣上傳文件并且傳遞額外參數給Springboot后臺進行接收:
https://mp.csdn.net/console/editor/html/107979828
上面講了怎樣使用el-upload控件傳遞給后臺進行接收。
可以看到el-upload傳遞額外的參數時使用的data格式為
:data="{updateSupport:upload.updateSupport,lxyf:upload.lxyf}"其中upload.updateSupport是布爾類型變量,而upload.lxyf是時間選擇器選擇的值,是Date類型,其默認值
????? // 導入參數upload: {// 是否顯示彈出層(用戶導入)open: false,// 彈出層標題(用戶導入)title: "",// 是否禁用上傳isUploading: false,// 是否更新已經存在的用戶數據updateSupport: 0,//輪休月份lxyf: new Date(),// 設置上傳的請求頭部headers: { Authorization: "Bearer " + getToken() },// 上傳的地址url: process.env.VUE_APP_BASE_API + "/kqgl/lxsz/importData",},取得是當前日期。
頁面上設置這個參數時是個時間選擇器
那么在將此事件參數lxyf和下面的勾選框的布爾類型的兩個參數通過如下方式進行傳遞時
:data="{updateSupport:upload.updateSupport,lxyf:upload.lxyf}"
在SpringBoot后臺中接收的方式
??? @RequestMapping("/importData")@ResponseBodypublic AjaxResult importData(@RequestParam MultipartFile file, @RequestParam boolean updateSupport,@RequestParam Date lxyf) throws Exception {}布爾類型的參數能接收到,但是Date類型的參數就接收不到。
注:
博客:
https://blog.csdn.net/badao_liumang_qizhi
關注公眾號
霸道的程序猿
獲取編程相關電子書、教程推送與免費下載。
實現
這是因為采用上面那種
:data="{updateSupport:upload.updateSupport,lxyf:upload.lxyf}"
格式的傳遞時間參數,會將其格式化為String字符串格式,傳遞到后臺時就不能再用Date去進行接收了
而應該是用String進行接收。
??? @RequestMapping("/importData")@ResponseBodypublic AjaxResult importData(@RequestParam MultipartFile file, @RequestParam boolean updateSupport,@RequestParam String lxyf) throws Exception {}?
這樣就能接收到了但是是字符串,如果想要Date類型的數據,
可以調用下面的字符串轉Date類型的方法
Date lxyfDate = str2Date(lxyf);方法實現
??? public? Date str2Date(String dateString) {String FORMAT_STRING = "yyyy-MM-dd HH:mm:ss";String[] REPLACE_STRING = new String[]{"GMT+0800", "GMT+08:00"};String SPLIT_STRING = "(中國標準時間)";try {dateString = dateString.split(Pattern.quote(SPLIT_STRING))[0].replace(REPLACE_STRING[0], REPLACE_STRING[1]);SimpleDateFormat sf1 = new SimpleDateFormat("E MMM dd yyyy HH:mm:ss z", Locale.US);Date date = sf1.parse(dateString);return date;} catch (Exception e) {throw new RuntimeException("時間轉化格式錯誤" + "[dateString=" + dateString + "]" + "[FORMAT_STRING=" + FORMAT_STRING + "]");}}?
總結
以上是生活随笔為你收集整理的ElementUI中el-upload传递额外参数为date类型时后台SpringBoot接收不到的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ElementUI中el-upload怎
- 下一篇: SpringBoot+ElementUI