失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > ElementUI中el-upload传递额外参数为date类型时后台SpringBoot接收不到

ElementUI中el-upload传递额外参数为date类型时后台SpringBoot接收不到

时间:2018-07-11 18:18:31

相关推荐

ElementUI中el-upload传递额外参数为date类型时后台SpringBoot接收不到

场景

ElementUI中el-upload怎样上传文件并且传递额外参数给Springboot后台进行接收:

/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类型的参数就接收不到。

注:

博客:

/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接收不到》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。