m0_52722797 2022-01-08 15:13 采纳率: 0%
浏览 243

试用variant Form构建表单后向后台传formData,后台空指针

问题遇到的现象和发生背景

需求:前台页面上传入一个文件和一段文字,传给后端。

问题相关代码,请勿粘贴截图
 new Vue({
        el: '#app',
        data: {
            formJson: {"widgetList":
                    [
                        {"type":"file-upload","icon":"file-upload-field","formItemFlag":true,"options":{
                            "name":"fileexcel","label":"上传excel","labelWidth":null,"labelHidden":false,"disabled":false,"hidden":false,"required":false,"requiredHint":"","customRule":"","customRuleHint":"","uploadURL":"","uploadTip":"","withCredentials":false,"multipleSelect":false,"showFileList":true,"limit":3,"fileMaxSize":5,"fileTypes":["doc","docx","xls","xlsx"],"customClass":[],"labelIconClass":null,"labelIconPosition":"rear","labelTooltip":null,"onCreated":"","onMounted":"","onBeforeUpload":"","onUploadSuccess":"","onUploadError":"","onValidate":""},"id":"fileexcel"}
                        ,{"type":"textarea","icon":"textarea-field","formItemFlag":true,"options":{
                            "name":"DingText","label":"钉钉文本","labelAlign":"label-center-align","rows":20,"defaultValue":"","placeholder":"","columnWidth":"200px","size":"","labelWidth":null,"labelHidden":false,"readonly":false,"disabled":false,"hidden":false,"required":false,"validation":"","validationHint":"","customClass":"","labelIconClass":null,"labelIconPosition":"rear","labelTooltip":null,"minLength":null,"maxLength":null,"showWordLimit":false,"onCreated":"","onMounted":"","onInput":"","onChange":"","onFocus":"","onBlur":"","onValidate":""},"id":"DingText"}],"formConfig":{"modelName":"formData","refName":"vForm","rulesName":"rules","labelWidth":80,"labelPosition":"left","size":"","labelAlign":"label-center-align","cssCode":"","customClass":"","functions":"","layoutType":"PC","onFormCreated":"","onFormMounted":"","onFormDataChange":""}},
            formData: {},
            optionData: {}
        },
        methods: {
            submitForm: function() {
                this.$refs.vFormRef.getFormData().then( function(formData) {
                    alert( JSON.stringify(formData))
                    axios({
                        headers:{
                            'Content-Type':'multipart/form-data;boundary=--------------------------383701905023712046165926'
                        },
                        method: 'post',
                        url:"/DingTalk",
                        data: formData
                    })
                }).catch( function(error) {
                    // Form Validation Failed
                    alert(error)
                })
            }
        }
    });

    @RequestMapping("/DingTalk")
    public void getList(HttpServletResponse response,@RequestParam(value = "fileexcel",required = false) MultipartFile file
            ,@RequestParam(value = "DingText",required = false) String DingText) throws IOException {
}

运行结果及报错内容

·

java.lang.NullPointerException: null
我的解答思路和尝试过的方法

如果要同时传文件+参数,需要包装成formdata

我想要达到的结果

后台能收到文件和参数

  • 写回答

3条回答 默认 最新

  • 你好!机器人 2022-01-08 15:17
    关注

    let formData = new FormData()
    FormData.append()

    评论

报告相同问题?

问题事件

  • 创建了问题 1月8日

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料