Bootstrap File Input 多文件上传
博客专区 > Loooooou 的博客 > 博客详情
Bootstrap File Input 多文件上传
Loooooou 发表于2年前
Bootstrap File Input 多文件上传
  • 发表于 2年前
  • 阅读 383
  • 收藏 0
  • 点赞 0
  • 评论 0

新睿云服务器60天免费使用,快来体验!>>>   

摘要: Bootstrap文件上传插件File Input是一个不错的文件上传控件,但是搜索使用到的案例不多。

1、文件上传插件File Input介绍


这个插件主页地址是:http://plugins.krajee.com/file-input,可以从这里看到很多Demo的代码展示:http://plugins.krajee.com/file-basic-usage-demo

这是一个增强的 HTML5 文件输入控件,是一个 Bootstrap 3.x 的扩展,实现文件上传预览,多文件上传等功能。

一般情况下,我们需要引入下面两个文件,插件才能正常使用:

bootstrap-fileinput/css/fileinput.min.css

bootstrap-fileinput/js/fileinput.min.js

如果需要考虑中文化,那么还需要引入文件:

bootstrap-fileinput/js/fileinput_locale_zh.js

2、文件上传插件File Input的使用


<form enctype="multipart/form-data" id="mgform" action="#####" method="post">
   <input type="file" name="myfiles" id="file1"/>
</form>
<script type="text/javascript">
initFileInput("file1", '${后台获取的文件/图片地址}');

function initFileInput(ctrlName, fileUrl) {
		var control = $('#' + ctrlName);
		var ctrName = control.attr("data-name");
		var preview = new Array();
		var previewConfig = new Array();
		if (fileUrl != null && fileUrl != "") {
            //返回的图片地址是json数据
			fileUrl = $.parseJSON("[" + fileUrl + "]");
			$.each(fileUrl, function(i, item) {
				preview[i] = "文件地址";
				var config = new Object();
			    config.caption = item.name;
			    config.url="删除单个文件地址";
			    config.key=i;		
			    previewConfig.push(config);	
			});
		}
		control.fileinput({
            //uploadUrl: uploadUrl, //上传的地址
			showDrag : false,
			showUpload : false,
			uploadAsync : true,
			allowedFileExtensions : [ 'jpg', 'png', 'gif', 'bmp' ],//接收的文件后缀
			browseClass : "btn btn-primary", //按钮样式
			overwriteInitial : false,//上传时是否覆盖原来的图片
			initialPreview : preview,//数组
			initialPreviewAsData : true, // identify if you are sending preview data only and not the raw markup
			//initialPreviewFileType : 'image', // image is the default and can be overridden in config below
			initialPreviewConfig : previewConfig,//数组
		}).on("filebatchselected",function(event, files) {
			//选择文件后操作		
		}).on('fileclear', function(event) {
			//移除文件时操作
		});
	}

$("#mgform").ajaxSubmit();
</script>
@RequestMapping(value = "/save", method = RequestMethod.POST)
private void upload(MultipartHttpServletRequest request, String uuid) throws IllegalStateException, IOException {
		List<MultipartFile> fileList = request.getFiles("myfiles");
		if (fileList != null && fileList.size() > 0) {
			for (MultipartFile file : fileList) {
				// 取得上传文件
				if (file != null) {
					// 取得当前上传文件的文件名称
					String myFileName = file.getOriginalFilename();
					// 如果名称不为“”,说明该文件存在,否则说明该文件不存在
					if (myFileName.trim() != "") {
						System.out.println(myFileName);
						// 重命名上传后的文件名
						String fileName = file.getOriginalFilename();
						// 定义上传路径
						String path = request.getSession().getServletContext().getRealPath("/upload") + "/" + uuid + "/"
								+ fileName;
						File localFile = new File(path);
						if (!localFile.getParentFile().exists()) {
							localFile.mkdirs();
						}
						file.transferTo(localFile);
					}
				}
			}
		}

	}

 

  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 0
博文 3
码字总数 1596
×
Loooooou
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: