javascript实现异步上传图片
2017-12-04 19:03
555 查看
最近遇到图片上传的需求,由于第一次在移动端尝试写上传,还是小心为上,做了一个简单的demo,便于在此基础之上慢慢完善。
html代码:<form id="uploadForm" action="http://storage.test.com/file/upload" method="post" enctype="multipart/form-data"> <input type="hidden" name="key" id="key" value="VTZ18HM64#D_L3WX" /> <input type="file" name="uploadFiles" value="" id="fileImage" multiple='multiple' /> <div class="upload_submit"> <button type="button" id="fileSubmit" class="upload_btn">保存</button> </div> </form>
js代码:
var Fileupload = { fileInput: $("#fileImage").get(0), dragDrop: $("#fileDragArea").get(0), upButton: $("#fileSubmit").get(0), url: $("#uploadForm").attr("action"), })(), //文件上传 funUploadFile: function() { var self = this; for (var i = 0, file; file = this.fileFilter[i]; i++) { (function(file) { var xhr = new XMLHttpRequest(); if (xhr.upload) { // 上传中 xhr.upload.addEventListener("progress", function(e) { self.onProgress(file, e.loaded, e.total); }, false); // 文件上传成功或是失败 xhr.onreadystatechange = function(e) { if (xhr.readyState == 4) { if (xhr.status == 200) { self.onSuccess(JSON.parse(xhr.responseText)); self.funDeleteFile(file); if (!self.fileFilter.length) { //全部完毕 self.onComplete(); } } else { self.onFailure(file, xhr.responseText); } } }; //准备FormData对象 var formData = new FormData(); //将文件放入FormData对象中 formData.append('uploadFiles', file); // 开始上传 xhr.open("POST", self.url, true); // xhr.setRequestHeader("Content-Type","multipart/form-data"); xhr.send(formData); } })(file); } }, init: function() { var self = this; //上传按钮提交 if (this.upButton) { console.log('提示: 当前存储服务器地址', this.url) this.upButton.addEventListener("click", function(e) { self.funUploadFile(e); }, false); } self.bindEvent(); } }; Fileupload = $.extend(Fileupload); Fileupload.init();
类似博文可参考:https://segmentfault.com/a/1190000008304339
相关文章推荐
- javascript 使用FormData实现图片/文件异步上传
- 实例讲解javascript实现异步图片上传方法
- JavaScript实现异步图像上传功能
- Jquery实现异步上传图片
- spring mvc+ajaxfileupload 实现异步上传图片
- JavaScript实现简单的前端上传图片预览
- freemarker+springMVC+ajaxfileupload实现异步图片上传(单张)
- struts2+jquery之form插件实现异步上传图片并显示
- [JavaScript] JS实现上传图片及时预览
- 零废话VS2012 MVC3项目中javascript、C#实现图片上传
- 利用KindEditor的uploadbutton实现异步上传图片
- HTML5实现图片文件异步上传
- javascript和HTML5上传图片之前实现预览效果
- javascript 实现图片预览(未上传到服务器端)
- PHP+JavaScript 实现图片无刷新上传
- javascript实现input file上传图片预览效果
- SpringMVC异步实现多图片上传至本地服务器
- Jquery实现异步上传图片
- jQuery实现异步上传图片(二)
- 纯javascript实现图片上传前预览,判断图片大小