layui上传插件之txt上传(格式过滤)

前言

好久都没有用layui了,很多东西又要开始学了,今天在使用layui上传文件的时候需要上传txt文件,但是官方的文档中并没有选择文件是只保留txt格式。

layui txt文件上传代码

//多文件列表示例
var demoListView = $('#demoList'),
	uploadListIns = upload.render({
	elem: '#testList',
	url: '/upload/upload.php',
	accept: 'file',
	multiple: true,
	auto: false,
	acceptMime: 'text/plain',   // 此处是重点
	exts: 'txt',
	bindAction: '#testListAction',
	choose: function(obj) {
		var files = this.files = obj.pushFile(); //将每次选择的文件追加到文件队列
		console.log(files)
		//读取本地文件
		obj.preview(function(index, file, result) {
			var tr = $(['<tr id="upload-' + index + '">', '<td>' + file.name + '</td>', '<td>' + (file.size / 1024).toFixed(
					1) + 'kb</td>', '<td>等待上传</td>', '<td>',
				'<button class="layui-btn layui-btn-xs demo-reload layui-hide">重传</button>',
				'<button class="layui-btn layui-btn-xs layui-btn-danger demo-delete">删除</button>', '</td>', '</tr>'
			].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.files.file) { //上传成功
			var tr = demoListView.find('tr#upload-' + index),
				tds = tr.children();
			tds.eq(2).html('<span style="color: #5FB878;">上传成功</span>');
			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('<span style="color: #FF5722;">上传失败</span>');
		tds.eq(3).find('.demo-reload').removeClass('layui-hide'); //显示重传
	}
});

acceptMime拓展值

*.3gppaudio/3gpp, video/3gpp3GPP Audio/Video
*.ac3audio/ac3AC3 Audio
*.asfallpication/vnd.ms-asfAdvanced Streaming Format
*.auaudio/basicAU Audio
*.csstext/cssCascading Style Sheets
*.csvtext/csvComma Separated Values
*.docapplication/mswordMS Word Document
*.dotapplication/mswordMS Word Template
*.dtdapplication/xml-dtdDocument Type Definition
*.dwgimage/vnd.dwgAutoCAD Drawing Database
*.dxfimage/vnd.dxfAutoCAD Drawing Interchange Format
*.gifimage/gifGraphic Interchange Format
*.htmtext/htmlHyperText Markup Language
*.htmltext/htmlHyperText Markup Language
*.jp2image/jp2JPEG-2000
*.jpeimage/jpegJPEG
*.jpegimage/jpegJPEG
*.jpgimage/jpegJPEG
*.jstext/javascript, application/javascriptJavaScript
*.jsonapplication/jsonJavaScript Object Notation
*.mp2audio/mpeg, video/mpegMPEG Audio/Video Stream, Layer II
*.mp3audio/mpegMPEG Audio Stream, Layer III
*.mp4audio/mp4, video/mp4MPEG-4 Audio/Video
*.mpegvideo/mpegMPEG Video Stream, Layer II
*.mpgvideo/mpegMPEG Video Stream, Layer II
*.mppapplication/vnd.ms-projectMS Project Project
*.oggapplication/ogg, audio/oggOgg Vorbis
*.pdfapplication/pdfPortable Document Format
*.pngimage/pngPortable Network Graphics
*.potapplication/vnd.ms-powerpointMS PowerPoint Template
*.ppsapplication/vnd.ms-powerpointMS PowerPoint Slideshow
*.pptapplication/vnd.ms-powerpointMS PowerPoint Presentation
*.rtfapplication/rtf, text/rtfRich Text Format
*.svfimage/vnd.svfSimple Vector Format
*.tifimage/tiffTagged Image Format File
*.tiffimage/tiffTagged Image Format File
*.txttext/plainPlain Text
*.wdbapplication/vnd.ms-worksMS Works Database
*.wpsapplication/vnd.ms-worksWorks Text Document
*.xhtmlapplication/xhtml+xmlExtensible HyperText Markup Language
*.xlcapplication/vnd.ms-excelMS Excel Chart
*.xlmapplication/vnd.ms-excelMS Excel Macro
*.xlsapplication/vnd.ms-excelMS Excel Spreadsheet
*.xltapplication/vnd.ms-excelMS Excel Template
*.xlwapplication/vnd.ms-excelMS Excel Workspace
*.xmltext/xml, application/xmlExtensible Markup Language
*.zipaplication/zipCompressed Archive

Layui上传原型

<input type="file" accept="image/gif,image/png" />

结果展示

原文地址:https://itzhai.cn/dianyingziyuan/1103.html

65761c6e-79ee-42cd-8b12-6af156ff3946
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值