使用LayUI进行文件上传(带预览功能)
2019-08-15 16:03
99 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/gouyadongGYD/article/details/99640063
使用LayUI进行文件上传(带预览功能)
1、添加LayUI上传组件需要的js文件
jquery.min.js、layui.all.js、layer.js
2、导入上传组件jar包
commons-fileupload、commons-io
3、在spring配置文件中限制上传文件的大小,否则会报错
<!-- 设置上传文件最大值 1M=1*1024*1024(B)=1048576 bytes --> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <property name="maxUploadSize" value="1048576" /> </bean>
4、jsp页面代码
<div class="layui-upload"> <button type="button" class="layui-btn" id="test1">上传图片</button> <div class="layui-upload-list"> <img class="layui-upload-img" id="previewImg"> <p id="demoText"></p> </div> </div>
5、js代码
<script type="text/javascript"> //图片上传 layui.use('upload', function(){ var $ = layui.jquery ,upload = layui.upload; //普通图片上传 var uploadInst = upload.render({ elem: '#test1' ,url: '/uploadImages' ,before: function(obj){ //预读本地文件示例,不支持ie8 obj.preview(function(index, file, result){ $('#previewImg').attr('src', result); //图片链接(base64) }); } ,done: function(res){ //上传失败 if(res.code > 0){ return layer.msg('上传失败'); } //上传成功,返回的路径:res.filePath } ,error: function(){ //上传失败 return layer.msg('上传失败,请重试!'); } }); }); </script>
6、后台java代码及工具类
/** * 文件上传 * @param file * @param request * @param response * @return * @throws Exception */ @RequestMapping(value = "/uploadImages",method=RequestMethod.POST) @ResponseBody public WebUploadResult uploadImages(MultipartFile file,HttpServletRequest request, HttpServletResponse response) throws Exception { String destDir = "/upload/picture"; WebUploadResult webResult = new WebUploadResult(); try { String path = WebUpload.uploads(file, destDir, request,response); webResult.setStatus(0); webResult.setFilePath(path); } catch (Exception e) { e.printStackTrace(); } return webResult; }
WebUpload.java类
WebUploadResult.java类
WebUploadError.java类
/** * 默认的页面请求返回的model对象.用来包裹controller的页面输出 */ public class WebUploadError { private int code; private String message; public int getCode() { return code; } public void setCode(int code) { this.code = code; } public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } }
注意: 在普通文件上传中,我们都是用
<input type="file" name="file">
这样来控制上传的。在LayUI上传组件中,实际上也是用这种方式来实现的。
相关文章推荐
- 使用LayUI进行文件上传(多文件上传)
- 文件上传插件Plupload使用(带图片预览功能)
- FCKeditor是使用非常广泛的HTML编辑器,本文从 ASP.NET 的使用场景对 FCKeditor 与 FCKeditor.NET 的配置、功能扩展(如自定义文件上传子目录、自定义文件名、上传图片的后期处理等)、以及安全性进行初步的阐述。
- 使用Ajax进行文件与其他参数的上传功能(java开发)
- 在linux中使用rz,sz进行文件的上传和下载,用来代替SRT的sftp功能
- 单独使用fckeditor的文件上传功能
- Struts2 Ajax文件上传功能 使用Jquery.form插件
- 使用Struts进行文件上传
- 如何使用PuTTY进行文件上传
- 解决ckfinder 在IE10下无法使用popup方法进行文件上传
- vs2008突然不能使用查找功能了(找不到要查找的文件 查找进行的过程中被停止)
- AXIS:使用web service进行文件的上传
- 小存储嵌入式设备上使用thttpd进行文件上传遇到的问题
- CKEditor使用及开启文件上传功能(Servlet实现)
- 使用Loadrunner进行文件的上传和下载
- win7使用pscp与linux服务器进行文件上传下载
- java实现word文件上传预览功能
- Android应用开发之使用Socket进行大文件断点上传续传
- Android之使用Http协议实现文件上传功能
- DiscuzNT使用Silverlight进行多文件上传(上) 推荐