用layui 模板,数据表格展示 图片,
发布时间
阅读量:
阅读量
1.1 layui数据表格展示图片的基础使用
js
<script>
layui.use(['tree', 'util','upload','table'], function(){
var upload = layui.upload;
var tree = layui.tree
,layer = layui.layer
,util = layui.util
,table = layui.table;
//第一个实例
table.render({
elem: '#demo'
,height: 312
,url: '${ctxPath}/upc/json' //数据接口
,page: true //开启分页
,cols: [[ //表头
{field: 'id', title: 'ID', width:80, sort: true, fixed: 'left'}
,{field: 'url', title: '图片', width: 135,templet:"#imgtemp"}
]]
});
//普通图片上传
var uploadInst = upload.render({
elem: '#test1'
,url: '${ctxPath}/upc/upload'
,before: function(obj){
//预读本地文件示例,不支持ie8
obj.preview(function(index, file, result){
$('#demo1').attr('src', result); //图片链接(base64)
});
}
,done: function(res){
//如果上传失败
if(res.code > 0){
return layer.msg('上传失败');
}
else
{
console.log("success");
}
//上传成功
}
,error: function(){
//演示失败状态,并实现重传
var demoText = $('#demoText');
demoText.html('<span style="color: #FF5722;">上传失败</span> <a class="layui-btn layui-btn-xs demo-reload">重试</a>');
demoText.find('.demo-reload').on('click', function(){
uploadInst.upload();
});
}
});
});
</script>
<!-- 定义图像模板 d为filed中的返回参数,url为后台中每一组元素的url -->
<script type="text/html" id="imgtemp">
<div><img src="{{d.url}}" style="width:20px;height:20px"></div>
</script>
<table id="demo" lay-filter="tdemo"></table>
html
<div class="layui-upload">
<button type="button" class="layui-btn" id="test1">上传图片</button>
<div class="layui-upload-list">
<img class="layui-upload-img" style="width:100px;height:100px" id="demo1">
<p id="demoText"></p>
</div>
</div>
后台controller
/** * 上传用户头像,并保存
* @param request
* @return
* @throws Exception
*/
@ResponseBody
@RequestMapping(value="upload",method=RequestMethod.POST)
public Map<String,Object> upString(HttpServletRequest request) throws Exception{
System.out.println("up");
Map<String,Object> resultMap=new LinkedHashMap<String, Object>();
Map<String,Object> Map=new LinkedHashMap<String, Object>();
List<Map<String,Object>> listMap = new ArrayList<Map<String,Object>>();
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();//文件集合
// if(!file.isEmpty()){
//上传文件路径
//String path=request.getSession().getServletContext().getRealPath("/imag");//F:\eclipse\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\wood\imag\dayuan.jpg
//山传到相对路径
String path ="F:/eclipse/dayuan/imag";
System.err.println(path);
// 检查目录
File uploadDir = new File(path);
if (!uploadDir.isDirectory()) {
// 如果不存在,创建文件夹
if (!uploadDir.exists()) {
uploadDir.mkdirs();
}
}
for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
SimpleDateFormat df2 = new SimpleDateFormat("yyyyMMddHHmmss");
String date=df2.format(new Date());
System.err.println(date+"当前时间");
MultipartFile file2=entity.getValue();
String filename=file2.getOriginalFilename();
File filepath=new File(path,filename);
//判断路径是否存在,如果不存在就创建一个
if(!filepath.getParentFile().exists()){
filepath.getParentFile().mkdirs();
}
//重命名
// 扩展名
String fileExt = filename.substring(filename.lastIndexOf(".") + 1).toLowerCase();//扩展名
Date date2=df2.parse(date);
//新的文件名
String newFileName=date+"_"+new Random().nextInt(100)+"."+fileExt;
System.err.println("新文件名:"+newFileName);
//保存的路径
String Savepath="/imag/"+newFileName;
System.out.println("存储路径"+Savepath);
//保存图片数据
//将上传的文件保存到目标文件中
file2.transferTo(new File(path+File.separator+newFileName));
//图片url
String url = "/upload/"+newFileName;
System.out.println(path+File.separator+filename);
//保存图片
Userimage image = new Userimage();
image.setId(1L);
image.setUrl(url);
imgService.insert(image);
resultMap.put("code",0);
resultMap.put("msg","");
resultMap.put("count", 10);
Map.put("src",url);
listMap.add(Map);
resultMap.put("data",listMap);
}
return resultMap;
}
@ResponseBody
@RequestMapping("json")
public String toJson(Integer page,Integer limit)
{
Map<String,Object> resultMap=new LinkedHashMap<String, Object>();
Map<String,Object> Map=new LinkedHashMap<String, Object>();
List<Map<String,Object>> listMap = new ArrayList<Map<String,Object>>();
Page<Userimage> page2 ;
EntityWrapper<Userimage> wrapper = new EntityWrapper<>();
wrapper.orderBy("id ASC");
if(page==0||limit==0)
{
page2 = getPage();
}
else {
//换页
page2 = new Page(page,limit);
}
Page<Userimage> pageUser = imgService.selectPage(page2,wrapper);
String jsonR=Json.encode(Response.dt(pageUser));
return jsonR;
}
2.关于web项目访问本地磁盘图片文件
当我在页面中访问本地磁盘中文件时遇到了问题,网上大多说在web.xml中标签内添加配置,但亲测失败,我要访问的本地文件还是被浏览器阻碍
后用如下方案,实现
双击服务器,打开服务器配置,点击module,在内添加web module需要的虚拟路径,/upload即是要匹配的路径,Document Base是我们存储的本地路径, 在页面上访问磁盘即 http://localhost:8080/upload +你存储文件夹内的图片文件全称.
3.效果图

全部评论 (0)
还没有任何评论哟~
