600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 利用Jquery使用HTML5的FormData属性实现文件上传

利用Jquery使用HTML5的FormData属性实现文件上传

时间:2021-02-25 03:39:14

相关推荐

利用Jquery使用HTML5的FormData属性实现文件上传

web前端|H5教程

jQuery,文件上传,html5

web前端-H5教程

本文给大家介绍的是利用Jquery使用HTML5的FormData属性实现对文件的上传的方法和实例,非常的实用,有需要的小伙伴可以参考下。

电话攻击源码,vscode打包python,ubuntu 名称,配置tomcat映射,sqlite判断记录是否,discuz 3.2 插件,前端开发需要学的框架,土里面生了小爬虫,手机号正则php,付费seo营销平台,购物网站数据库下载,手机网页登陆 asp,asp茶叶模板lzw

1.利用Jquery使用HTML5的FormData属性实现对文件的上传

java音频源码,Vscode文件保存在哪里,Ubuntu的javac,tomcat启动放入服务,爬虫入学教程,obclean php,温江区seo网络推广方案,手机网站字体csslzw

在HTML5以前我们如果需要实现文件上传服务器等功能的时候,有时候我们不得不依赖于FLASH去实现,而在HTML5到来之后,我们很容易的实现对文件的上传,只需要利用HTML5的一个FormData属性,结合Jquery就很容易实现文件的上传,而且读取文件的上传进度,下面这个上传案例就是基于上面所说的实现的,下面我将所所有的JS和CSS以及HTML页面代码放在下面。

文件处理优秀源码,ubuntu用来开发什么,tomcat启动不正常启动,什么爬虫过分,php数组和数据结构,seo昝辉lzw

注意事项:FormData属性必须依赖于HTML5,所以如果你按照本文代码实现的功能,则浏览器必须升级为最新(支持HTML5 FormData属性)。

2.HTML页面代码如下

使用HTML的FormData属性实现文件上传

添加文件 $(function () { $(#uploadTable).SalesMOUNDUpload({ saveUrl: /Test/Save, jqInput: $(#txtFile), fnRemove: removeFile, fnComplete: function (d) { window.console.log(complete + d); } }); }); function removeFile(d) { $.post(/Test/Remove, { "filename": d }, function(r) {}); }

3.CSS代码如下:

/*源文件头信息: Copyright(c)-2034 Kencery.All rights reserved. 个人博客:/hanyinglong 创建人:韩迎龙(kencery) 创建时间:-6-24 */ body { font-family: "微软雅黑"; font-size: 12px; } .input-file { overflow: hidden; position: relative; } .input-file input { opacity: 0; filter: alpha(opacity=0); font-size: 100px; position: absolute; top: 0; right: 0; } #uploadTable { width: 500px; border-collapse: collapse; border: 1px solid Silver; }

4.JS代码如下:

// 源文件头信息:// // Copyright(c)-2034 Kencery.All rights reserved.// 创建人:韩迎龙(kencery)// 创建时间:-6-24// ;(function($) { $.fn.SalesMOUNDUpload = function(options) { var defaults = {saveUrl: \,jqInput: \,maxSize: 1024 * 1024 * 100, //100MfnRemove: \, //移除文件 ,参数:文件名fnComplete: \ //每个文件成功 ,参数:服务器端返回内容 }; var opt = $.extend(defaults, options); function getByteToM(val) {if (isNaN(val)) return val;val = val / (1024 * 1024);val = Math.round(val * 100) / 100;return val; } return this.each(function() {var $this = $(this);$this.empty();if (typeof FormData == undefine) { alert(浏览器版本太低,不支持改上传!); return;}//表头if ($this.find( head).length == 0) { var $thead = $(); var $th_tr = $(); $th_tr.append(文件名); $th_tr.append(类型); $th_tr.append(大小); $th_tr.append(状态); $th_tr.append(操作); $th_tr.appendTo($thead); $this.append($thead);}opt.jqInput[0].addEventListener(change, function(e) { var file = this.files[0]; if (!file) {return; } if (file.size > opt.maxSize) {window.alert(文件超过最大);return; } var fd = new FormData(); var $table = $this; fd.append("uploadFile", file); var xhr = new XMLHttpRequest(); xhr.open(POST, opt.saveUrl, true); xhr.upload.addEventListener("progress", uploadProgress, false); xhr.addEventListener("load", uploadComplete, false); xhr.addEventListener("error", uploadFailed, false); xhr.addEventListener("abort", uploadCanceled, false); //表中内容 var $tr = $(); $tr.append( + file.name + ); $tr.append( + file.type + ); $tr.append( + getByteToM(file.size) + M + ); $tr.append( + 0 + ); $tr.append( + 取消 + ); $tr.find(.upload_action a).unbind(click).bind(click, function() {xhr.abort(); }); $table.append($tr); function uploadProgress(evt) {if (evt.lengthComputable) { var percentComplete = Math.round(evt.loaded * 100 / evt.total); $tr.find(.upload_status).html(Math.round(percentComplete) + \%);} else { $tr.find(.upload_status).html(unable to compute);} } function uploadComplete(evt) {if (evt.target.status == 200) { $tr.find(.upload_status).html(已完成); $tr.find(.upload_action a).html(删除); if (typeof opt.fnComplete == function) { opt.fnComplete(evt.target.response); } $tr.find(.upload_action).unbind(click).bind(click, removeFile);} } function uploadFailed() {$tr.find(.upload_status).html(×);$tr.find(.upload_status a).unbind(click).bind(click, function() { $tr.remove();});$tr.find(.upload_action a).html(重试);$tr.find(.upload_action a).unbind(click).bind(click, function() { xhr.send(fd);}); } function uploadCanceled() {$tr.remove(); } function removeFile() {$tr.remove();if (typeof opt.fnRemove == function) { opt.fnRemove(file.name);} } xhr.send(fd);}, false); }); };}(jQuery));

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。