为了账号安全,请及时绑定邮箱和手机立即绑定

用的layui的上传控件,为什么传到后台之后是null啊?

用的layui的上传控件,为什么传到后台之后是null啊?

心有法竹 2019-03-06 17:08:12
html<div class="layui-upload biangeng_3_1">                <button type="button" class="layui-btn" id="yingyezhizhao"><i class="layui-icon">&#xe67c;</i>营业执照</button>                <div class="layui-upload-list">                    <img class="layui-upload-img" id="yingyezhizhao_preview">                   <!-- <p id="demoText"></p>-->                </div>            </div>jslayui.use('upload', function(){    var upload = layui.upload;    //执行实例    var uploadInst = upload.render({        elem: '#yingyezhizhao' //绑定元素        ,url: '../app/upload/changeImg' //上传接口        ,done: function(res){            //上传完毕回调            $('#yingyezhizhao_preview').attr('src','../'+ data.data);            layer.msg('上传成功!');        }        ,error: function(){            layer.msg('上传失败');        }    });});
查看完整描述

1 回答

?
慕森王

TA贡献1777条经验 获得超3个赞

因为你前端提交的参数名(file)与后台接收的参数名(imageFile)不一致,导致后台接收不到数据

我从layui示例中上传文件

https://img1.sycdn.imooc.com//5c83745b0001c48b08000500.jpg

使用chrome浏览器,打开开发者工具(win F12,苹果 option + command + i),点击上传文件,查看它发送的请求,如下图红圈,发现参数名为file

https://img1.sycdn.imooc.com//5c83745e00011a6a08000254.jpg

所以如果不想改前端,只改后台,可以将后台接收参数名改成file。或者修改前端提交的参数名,从改插件的提供的参数选项上可以修改,如下图红圈部分,前端只需添加一个字段field:imageFile即可

https://img1.sycdn.imooc.com//5c8374620001a3cd08000629.jpg

查看完整回答
1 反对 回复 2019-03-09
  • 1 回答
  • 0 关注
  • 3369 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号