什么是spring boot
spring boot是由pivotal团队提供的全新框架,其设计目的是用来简化新spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。用我的话来理解,就是spring boot其实不是什么新的框架,它默认配置了很多框架的使用方式,就像maven整合了所有的jar包,spring boot整合了所有的框架(不知道这样比喻是否合适)。
页面代码(只需要引入基础layui的css与js)
多文件列表上传
选择多文件
文件名大小状态操作
开始上传
js
layui.use('upload', function(){
var $ = layui.jquery
,upload = layui.upload;
//多文件列表示例
var demolistview = $('#demolist')
,uploadlistins = upload.render({
elem: '#testlist'
,url: 'upload/uploadfile'
,accept: 'file'
,multiple: true
,auto: false
,size: 5120
,bindaction: '#testlistaction'
,choose: function(obj){
var files = this.files = obj.pushfile(); //将每次选择的文件追加到文件队列
//读取本地文件
obj.preview(function(index, file, result){
var tr = $(['
','
'+ file.name +'','
'+ (file.size/1014).tofixed(1) +'kb','
等待上传','
','重传'
,'删除'
,'
','
'].join(''));//单个重传
tr.find('.demo-reload').on('click', function(){
obj.upload(index, file);
});
//删除
tr.find('.demo-delete').on('click', function(){
delete files[index]; //删除对应的文件
tr.remove();
uploadlistins.config.elem.next()[0].value = ''; //清空 input file 值,以免删除后出现同名文件不可选
});
demolistview.append(tr);
});
}
,done: function(res, index, upload){
if(res.code == 0){ //上传成功
var tr = demolistview.find('tr#upload-'+ index)
,tds = tr.children();
tds.eq(2).html('上传成功');
tds.eq(3).html(''); //清空操作
return delete this.files[index]; //删除文件队列已经上传成功的文件
}
this.error(index, upload);
}
,error: function(index, upload){
var tr = demolistview.find('tr#upload-'+ index)
,tds = tr.children();
tds.eq(2).html('上传失败');
tds.eq(3).find('.demo-reload').removeclass('layui-hide'); //显示重传
}
});
});
后台接收
public final static string upload_file_path = "d:\\uploadfile\\";
@requestmapping(value = "uploadfile")
public string uploadimage(@requestparam("file") multipartfile file) {
if (!file.isempty()) {
map resobj = new hashmap<>(map_size);
try {
bufferedoutputstream out = new bufferedoutputstream(
new fileoutputstream(new file(upload_file_path, file.getoriginalfilename())));
out.write(file.getbytes());
out.flush();
out.close();
} catch (ioexception e) {
resobj.put("msg", "error");
resobj.put("code", "1");
return jsonobject.tojsonstring(resobj);
}
resobj.put("msg", "ok");
resobj.put("code", "0");
return jsonobject.tojsonstring(resobj);
} else {
return null;
}
}
总结
以上所述是小编给大家介绍的springboot+layui实现文件上传功能,希望对大家有所帮助
如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!