网站首页 > 开源技术 正文
给大家分享一个FileInput的使用实例,也是自己开发中遇到的问题
如何使用FileInput
使用时的样式
使用FileInput只需要将相关的js,css下载引用即可,相信当大家遇到这个问题的时候已经有了bootstrap开发的知识,这些基础已经不成问题
选择文件后的样式,如果配置妥当的话,点击上传按钮进度条将会读满并显示Done
前台代码,这里有一个小小的问题 form表单的enctype属性
表单中enctype="multipart/form-data"的意思,是设置表单的MIME编码。默认情况,这个编码格式是application/x-www-form-urlencoded,不能用于文件上传;只有使用了multipart/form-data,才能完整的传递文件数据,进行下面的操作. 但是我们不需要配置,否则会出现form表单提交其他数据的问题
[html] view plain copy
- <div class="line line-dashed line-lg pull-in"></div>
- <div class="form-group">
- <label class="col-sm-3 control-label">照片</label>
- <div class="col-sm-9">
- <input id="JSh_ZhP" type="file" class="file" name="file">
- <input type="hidden" id="JSh_ZhP_Path" name="tbllecturer.JSh_ZhP"/>
- <p class="help-block">支持jpg、jpeg、png、gif格式,大小不超过2.0M</p>
- </div>
接下来就说说如何配置相应的js
默认的fileinput.js应该有一个页面加载完毕的动作,我们打开fileinput.js,果然有相应的方法。
[javascript] view plain copy
- $(document).ready(function () {
- var $input = $('input.file[type=file]');
- if ($input.length) {
- $input.fileinput();
- }<span style="font-family:Arial, Helvetica, sans-serif;"> });</span>
接下来将它注释掉,我们自己写初始化方法,在fileinput,js里添加initFileInput方法,并自己完成加载时的方法,文件上传的一般逻辑应该是点击文件上传,将文件在后台做相应的处理后将存储的Url返回添加到form表单中,跟随form表单一起提交到数据库中。.on()方法为fileInput上传文件后的回调方法,之后对返回的数据处理即可。
[javascript] view plain copy
- function initFileInput(ctrlName,uploadUrl) {
- var control = $('#' + ctrlName);
- control.fileinput({
- language: 'zh', //设置语言
- uploadUrl: uploadUrl,
- showUpload: true, //是否显示上传按钮
- showRemove:true,
- showPreview : true,
- dropZoneEnabled: false,
- showCaption: true,//是否显示标题
- allowedPreviewTypes: ['image'],
- allowedFileTypes: ['image'],
- allowedFileExtensions: ['jpg', 'png', 'gif'],
- maxFileSize : 2000,
- maxFileCount: 1,
- //initialPreview: [
- //预览图片的设置
- // "<img src='http://127.0.0.1:8080/NewsManageSys/plugin/umeditor1_2_2/jsp/upload/20161030/55061 477813913474.jpg' class='file-preview-image' alt='肖像图片' title='肖像图片'>",
- //],
- }) }
- $(document).ready(function () {
- var path = rootPath + "/lecturer/picture/upLoad.shtml";
- initFileInput("JSh_ZhP",path);
- $("#JSh_ZhP").on("fileuploaded", function (event, data, previewId, index) {
- $("#JSh_ZhP_Path").val(data.response);
- });
- });
后台处理的代码,我直接将文件存在了本地并将路径返回。
[java] view plain copy
- @ResponseBody
- @RequestMapping("picture/upLoad")
- public String upLoad(@RequestParam("file")CommonsMultipartFile file)
- throws Exception{
- String path="E:/images/"+new Date().getTime()+file.getOriginalFilename();
- File newFile = new File(path);
- file.transferTo(newFile);
- Map<String, String> map = new HashMap<String, String>();
- map.put("pathUrl", path);
- JSONArray json = JSONArray.fromObject(map);
- return path;
- }
到这里大家应该学会了fileinput的使用,如有问题请留言
猜你喜欢
- 2024-10-29 “蓝桥杯”嵌入式stm32入门(3)搞定竞赛资源包,这都不是事儿
- 2024-10-29 智能医学(四)——Elsevier特刊推荐
- 2024-10-29 FDTD脚本教程——结构的创建(fdtd脚本语言)
- 2024-10-29 「Linux基础篇」(十四)FTP服务器配置与管理
- 2024-10-29 干货收藏系列17:Candence Virtuoso进行基本的电路设计
- 2024-10-29 电脑cmd命令大全(电脑cmd命令大全坑人)
- 2024-10-29 射频集成电路设计中所用到的设计工具和测试设备介绍
- 2024-10-29 前端入门练手小游戏项目——源码都放不下了~
- 2024-10-29 基于ThinkPHP5.1 +Layui 开发的一套后台管理框架
- 2024-10-29 百度富文本添加导入word文件(百度富文本编辑器上传视频)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)