文件上传,三种方式
来源:互联网 发布:如何看肾化验单的数据 编辑:程序博客网 时间:2024/05/16 20:43
3种方式 :
- HTML5 FormData : 不支持IE 8,可以得到文件大小
- jquery.form.js : 支持IE8,不能得到文件大小
- webUploader : 支持IE8,可得到文件大小,限制文件大小
一、HTML5 FormData & ajax 提交 (不支持 IE8 )
var formData = new FormData(); formData.append("fileType", fTval); formData.append("file", $('#updataimgfile')[0].files[0]); $.ajax({ url: '/analystui/service/file/uploadBg', type: 'post', data: formData, success: function(data) {}, error: function(error){} })
二、 jquery.form.js (支持 IE8, 不能限制文件大小 )
- form 标签标记
html: <form id="addBgForm"> <input type="file" class="updataimgfile" name="file"></form>
- 提交方式与 ajax 格式类似:
$("#addBgForm").ajaxSubmit({ method: 'POST', data: sendbgOpt, //添加多余的条件 obj 格式 url: '/analystui/service/file/uploadBg', success: function(data) {}, error: function(error){} })
IE 上传文件默认会下载 txt 文档,返回结果。后台需要修改返回格式为 json 字符串, 前端再解析(JSON.parse(data))。
三、webUploader (支持 IE8,默认使用 h5上传,若不支持则使用 flash)
- html
<div id="uploader-demo"> <div id="filePicker" class="sel-file">选择文件</div></div>
- js
var uploader = WebUploader.create({ method: 'POST', formData: { //选择文件后,根据文件添加参数条件 fileType: '', reqFlag: '' }, //fileNumLimit: //runtimeOrder: 'flash' 插件自动调用 html5/flash, 不用强制设置 auto: true, //swf: './Uploader.swf', swf: '/analystui/scripts/libs/webuploader/Uploader.swf', //必须为绝对路径,IE下才可以读到 server: '/analystui/service/file/uploadBg', pick: '#filePicker', accept: { title: 'image', extensions: 'jpg,jpeg,png,bmp,gif' }, fileSingleSizeLimit : 5*1024*1024, fileSizeLimit : 5*1024*1024})uploader.on('error',function(file){ //文件类型错误 requestError('图片格式不正确,请检查图片是否为jpeg、jpg、bmp、png、gif格式'); return;})uploader.on('fileQueued', function(file) { if(file.size > 5*1024*1024){ requestError('图片过大:最大支持上传5M'); return; }})uploader.on('uploadBeforeSend',function(obj,data,header){ //添加更多的条件 data 即为 formData var myfileType=obj.file.name.split('.'); var fTval=myfileType[myfileType.length-1]; var myrandomnum='tmd'+Math.random()*10000+'pyy'+Math.random()*10000; data.fileType = fTval; data.reqFlag = myrandomnum;})uploader.on('uploadSuccess',function(file,data){})uploader.on('uploadError',function(file,reason ){})
swf : IE8 下必须使用绝对路径:
添加成功:
IE8 下元素高度很小,点不到。
原因: swf 路径错误,必须为绝对路径,注意是正斜杠
2-1
2-2
———–end
阅读全文
0 0
- 文件上传,三种方式
- 文件上传三种方式
- SpringMVC上传文件的三种方式
- 文件上传的三种方式-Java
- springmvc文件上传的三种方式
- struts2 文件上传 三种方式
- SpringMVC上传文件的三种方式
- Android文件三种上传方式总结
- SpringMVC上传文件三种方式对比
- SpringMVC上传文件的三种方式
- SpringMVC上传文件的三种方式
- SpringMVC上传文件的三种方式
- SpringMVC上传文件的三种方式
- SpringMVC上传文件的三种方式
- SpringMVC上传文件的三种方式
- SpringMVC上传文件的三种方式
- 简述三种异步上传文件方式
- SpringMVC上传文件的三种方式
- CSDN怎么“借鉴”别人的文章,嗯,程序猿的事怎么叫扒呢,是借鉴。
- 白话空间统计之二十五:空间权重矩阵(四)R语言中的空间权重矩阵(2)
- JAVA设计模式之单例模式
- Codis源码解析——sentinel的重同步(2)
- Android Studio切换和合并分支branch
- 文件上传,三种方式
- 内存
- PHP取出url中的文件类型
- 观点 | 医疗AI:新瓶装旧酒VS新瓶装新酒?——道彤投资创始合伙人孙琦
- 炸裂视频 | 马斯克又开脑洞,39分钟把你从纽约送到上海
- 四个月就能学成机器学习?我们认真准备了一下该怎样做到
- intellij idea 2017 无法debug问题
- Docker小技巧(五)——hugo+git搭建博客
- mysql 替换字段值