jQuery中input[type=file] 将符合格式为.tar.gz的文件进行上传

首先我没有使用form里边去处理,而是单独事件去处理对应的。

<div class="form-group">
    <input type="file" id="exampleInputFile" name="archive" style="display: inline-block; width: 220px;">
	<button type="button" style="display: inline-block;" name="restore" value="恢复" onclick="submitFile()">上传</button>
	<button type="button" style="display: inline-block;" name="backup" value="生成备份" onclick="backupFile()">备份</button>
</div>

其次,上传的文件

            //导入
			function submitFile(){
				let file = $("input[name=archive]").get(0).files[0],//判断file是否有文件
					formdata = new FormData();
				formdata.append("archive", $("input[name=archive]").get(0).files[0])
			     if(file && (file.type == "application/x-gzip" || file.type == "application/x-zip-compressed" || file.name.indexOf(".rar") != -1)){
					 //选择的文件存在且格式正确允许导入
					 let params = {
						 restore: 1,
						 archive: formdata
					 };
					 $.ajax({
					 	type: "post",
					 	url: "",
					 	data: params,
					 	success: function(res,data1,data2) {
								// console.log(res);
								// console.log(data1);
								// console.log(data2);
								$("html").html(res);//这个看你是上传之后进行什么操作吧
					 	},
					 	error: function(XMLHttpRequest, textStatus, errorThrown) {
					 		console.log("ERR:" + XMLHttpRequest.responseText);
					 	},
					 	complete: function(XHR, TS) {}
					 });
			     }else{
			     	toast("导入前请选择正确格式的文件!",1000);
					return false
			     }
			}

可能很多人不是需要这种文件上传的格式,因为需要,不得不选择这种格式的,linux把文件压缩成.tar.gz的命令。这个我也不懂linux,反正相关就一起学习一下。以下来源:点击跳入

    1、连接上相应的bailinux主机,进入到等du待输入shell指令的zhilinux命令行dao内状态下。

    2、在linux命令行下输入shell指令:tar -czf test.tar.gz test.txt。

    3、最容后,按下回车键执行shell指令,此时会看到test.txt被成功压缩为test.tar.gz。

(1)tar.gz格式的解压与压缩:
解压:[*******]$ tar zxvf FileName.tar.gz
压缩:[*******]$ tar zcvf FileName.tar.gz DirName

(2)在linux下可以使用daotar命令对文件制进行打包操作,bai打包完成之后是以du.tar结尾的,如果同时需要zhi对文件dao或者文件夹进行压缩处理,生成.tar.gz结尾的压缩文件,有以下两种方式:

1、使用tar和gzip命令

先使用tar命令对文件进行打包:

tar -cf all.tar *.jpg

然后使用gzip进行压缩:

gzip –c filename > filename.gz

2、只使用tar命令

 

tar -czf all.tar.gz *.jpg 

这条命令是将所有.jpg的文件打成一个tar包,并且将其用gzip压缩,生成一个
gzip压缩过的包,包名为all.tar.gz 。

那么针对于前端中我们可以限制的input[type=file]的上传文件的类型有哪些呢?

目前html5中用accept属性对input[type='file']设定,多个类型用逗号分隔开,下面有详细的type:

*.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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

尔嵘

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值