我在做文件上传功能的时候遇到一个问题,getFile()方法中的参数只有填file的时候才能正常运行。填写其他的值,文件能上传,但是getFile()方法获取的值为空。
//后台代码
public void uploadMusic(){
UploadFile uploadFile = getFile("file");
System.out.println(uploadFile);
upload(uploadFile, MUSIC_BUKECT);
}
//前台代码
<div class="layui-form-item">
<label class="layui-form-label">音乐文件</label>
<div class="layui-input-block" style="backgournd-color:red;">
<button type="button" lay-data="{accept: 'audio'}" class="layui-btn layui-btn-blue" id="file">
<i class="layui-icon"></i>上传文件
</button>
<input type="text" name="music" id="music"/>
</div>
</div>
//js 代码
layui.use('upload', function(){
var upload = layui.upload;
//执行实例
var uploadInst = upload.render({
elem: '#file' //绑定元素
,url: api.UPLOAD_MUSIC_URL
,done: function(res){
console.log(res);
//上传完毕回调
}
,error: function(){
//请求异常回调
}
});
});
解决办法是,要么让前端的 name = 的值与 getFile 参数一致,要么不带参,例如:
getFile();
getFiles();