关注微信公众号
【qq截图保存在哪里 截图保存到哪了】PHP技术大全
每天精彩分享不间断
文件上传在WEB开发中应用很广泛 , 我们经常发微博、发微信朋友圈都用到了图片上传功能 。
文件上传是指将本地图片、视频、音频等文件上传到服务器上 , 可以供其他用户浏览或下载的过程 。
今天我给大家聊聊常见的文件(图片)上传的方式和要点处理 。
表单上传
这是传统的form表单上传 , 使用form表单的input[type=”file”]控件 , 可以打开系统的文件选择对话框 , 从而达到选择文件并上传的目的 , 它的好处是多浏览器兼容 , 它是web开发者最常用的一种文件上传方式 。
表单的代码如下:
<formmethod="post"action="http://uploadUrl"enctype="multipart/form-data"><inputname="file"type="file"accept="image/gif,image.jpg"/><inputname="token"type="hidden"/><inputtype="submit"value="https://www.scwdwl.com/n/提交"/></form>
以下是表单上传几个关键点:
method=”post”: 采用post方式提交数据
enctype=”multipart/form- data”:采用multipart格式上传文件 , 此时request头会显示 Content-Type:multipart/form-data; boundary=—-WebKitFormBoundaryzr34cwJ67R95KQC9
action:标明上传的服务端处理地址
type=”file”:使用input的file控件上传
如果是多文件批量上传 , 可以将input[type=”file”]的name属性设置为如:name=”file[]”
accept属性是HTML5的新属性 , 它规定了可通过文件上传提交的文件类型
上传的触发事件可以是:input[type=”file”]的onChange触发 , 也可以由一个独立的按钮的onClick使整个表单提交 , 此时还可以用input[type=”hidden”]带一些其它的参数 , 比如Token来源验证等等 。
展开全文
method=”post”: 采用post方式提交数据
enctype=”multipart/form- data”:采用multipart格式上传文件 , 此时request头会显示 Content-Type:multipart/form-data; boundary=—-WebKitFormBoundaryzr34cwJ67R95KQC9
action:标明上传的服务端处理地址
type=”file”:使用input的file控件上传
如果是多文件批量上传 , 可以将input[type=”file”]的name属性设置为如:name=”file[]”
accept属性是HTML5的新属性 , 它规定了可通过文件上传提交的文件类型
上传的触发事件可以是:input[type=”file”]的onChange触发 , 也可以由一个独立的按钮的onClick使整个表单提交 , 此时还可以用input[type=”hidden”]带一些其它的参数 , 比如Token来源验证等等 。
Ajax无刷新上传的方式 , 本质上与表单上传无异 , 只是把表单里的内容提出来采用ajax提交 , 并且由前端决定请求结果回传后的展示结果 , 不用像直接表单上传那样刷新和跳转页面 。在这里 , 我们采用jQuery来作为操作DOM和创建ajax提交的js基础库 。
html代码片段如下:
<form><inputid="file"name="file"type="file"/><inputid="token"name="token"type="hidden"/></form>
java代码片段如下:
$("#file").on("change",function(){varformData =https://www.scwdwl.com/n/newFormData();formData .append("file",$("#file")[0].files );formData .append("token",$("#token").val());$ .ajax({url :"http://uploadUrl",type :"POST",data :formData ,processData :false,contentType :false,success :function(response ){// 根据返回结果指定界面操作}});});
我们使用了file控件的change来触发上传事件 , 当然你也可以使用某个按钮来触发表单提交 。提交数据时 , 我 用到了FormData对象来发送二进制文件 , FormData构造函数提供的append()方法 , 除了直接添加二进制文件还可以附带一些其它的参数 , 作为实例的参数提交给服务端 。
- 中医心理学与西方心理学差别在哪里 华夏心理咨询培训机构怎么样
- 三叉穴在哪里 董氏奇穴治疗带状疱疹
- 想吃正宗阳澄湖大闸蟹去哪里买比较好 阳澄湖大闸蟹在哪里买
- 京东自营蜂蜜是真的吗 蜂蜜在哪里能买到真的
- 保存普洱茶白茶黑茶 普洱怎么收藏和保存
- 面包蟹没吃完怎么保存 面包蟹怎样保鲜
- 汗蒸东西十条附近哪里有汗蒸和桑拿 我家附近的汗蒸房在哪里
- 三文鱼怎么保存 冰冻三文鱼和冰鲜区别
- 储存生姜的方法介绍 鲜姜怎么保存最好
- 新鲜大蒜的保存方法推荐 新大蒜如何保存方法
特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
