HTML5 异步上传文件
来源:互联网 发布:俊知集团官网 编辑:程序博客网 时间:2024/06/07 01:03
最近公司要做手机端网站 要用到图片上传, 手机端一般不能用 swfupload 类似flash的上传工具 (对 flash 支持不好) 不过现在手机浏览器 都支持HTML5了 所以 这几天网上查了下 实现使用html5 上传文件
其实 html5 上传文件挺简单的 , 直接 new FormData(); 这个基于XMLHttpRequest 2 新增的API 就好了
你可以先创建一个空的 FormData 对象,然后使用 append() 方法向该对象里添加字段,如下:
<input type="file" id="file" /><script type="text/javascript">var oMyForm = new FormData(); oMyForm.append("username", "Groucho");oMyForm.append("accountnum", 123456); // 数字123456被立即转换成字符串"123456" // fileInputElement中已经包含了用户所选择的文件oMyForm.append("userfile", document.ElementById('file').files[0]);oMyForm.append("webmasterfile", oBlob); var oReq = new XMLHttpRequest();oReq.open("POST", "__URL__/api/upload");oReq.send(oMyForm);</script>
这样就实现了 往后端上传文件
当然你也可以在 file 里面设置 只允许上传图片 accept 属性
<input type="file" id="file" accept="image/*" />
如果你用 jquery 那么也可以在jquery 里面实现
vm.save = function(){ var data = new FormData(); data.append('a_id', model.a_id); data.append('name', model.name); data.append('sort', model.sort); data.append('file', $('#aaa')[0].files[0]); $.ajax({ url: '__URL__/picSave', type: 'POST', data: data, processData: false, // 告诉jQuery不要去处理发送的数据 contentType: false // 告诉jQuery不要去设置Content-Type请求头 }).done(function(ret){ if (ret) { alert(ret); }else{ alert('保存成功!'); //location = '__URL__'; } }); return false;};
今天先说到这里吧 继续忙了
2 0
- HTML5 异步上传文件
- html5异步上传文件
- HTML5实现图片文件异步上传
- HTML5 文件异步上传 — h5uploader.js
- 利用html5-formdata实现文件异步上传
- ajax与html5实现异步文件上传
- HTML5实现图片文件异步上传
- html5 multiple多文件异步上传 服务器接收文件重复
- html5 异步上传
- HTML5 postMessage+iframe实现文件跨域异步上传
- 写一个基于HTML5的文件异步上传控件
- cjhupload一个简单异步文件上传插件(html5+js)
- HTML5 拖拽以及实现拖拽异步上传文件
- HTML5 jQuery+FormData 异步上传文件,带进度条
- HTML5新特点实现图片文件异步上传
- HTML5 jQuery+FormData 异步上传文件,带进度条
- ajax和HTML5异步文件上传之进度条
- HTML5 jQuery+FormData 异步上传文件,带进度条
- iframe提取与改变父页面元素
- 《unix高级环境编程》文件和目录——文件权限
- 选择和排序的Sherwood算法
- javaweb项目源文件与字节码文件目录结构
- ASP.net 学习路线(详细)
- HTML5 异步上传文件
- iOS-沙箱盒子代码解析
- 初步理解Redis及其安装配置
- tn gives the first impression is that it is not a world
- webservice相关名词解释
- Servlet 3.0 新特性详解
- 《unix高级环境编程》文件和目录——文件操作
- 自定义QML模块
- Flume-ng生产环境实践(三)实现文件sink,按照固定格式目录输出