码迷,mamicode.com
首页 > Web开发 > 详细

使用ajax上传文件

时间:2015-12-08 22:19:36      阅读:182      评论:0      收藏:0      [点我收藏+]

标签:

  有时候我们需要在web端向服务器上传文件,以前是使用form的方式进行提交,html5中支持直接使用xmlhttprequest上传文件,send对象支持blob对象而文件就是一个blob对象

ajax上传文件

ajax中可以通过参数processData这个参数来控制data是否进行转换,我们将这个参数设置为false就可以使用ajax进行文件的上传操作了

example:

$.ajax({
url: "your url",
type: "POST",
processData: false,
data: "your blob object",//blob对象
}).success(function () {
}).fail(function () {
}).always(function () {
})

将example中的url换成你自己的url,data换成通过input type=“file” 选中的文件 文件就发送成功了 这个时候服务器端收到的body中的比特流就是文件的内容

注意:使用ajax进行文件上传的时候,由于文件的比特流充满了整个body无法再进行参数的传递,此时只能通过请求的url或者是在http的head中传递参数了

  通过head传递参数: 比如有两个参数需要传递1.文件名称name,2.文件后缀extension,请求的ajax方式:

  $.ajax({
  url: "your url",
  type: "POST",
  processData: false,

  headers:{

  name:"",

  extension:""

  }
  data: "your blob object",//blob对象
  }).success(function () {
  }).fail(function () {
  }).always(function () {
  })

配合filereader对象还可以实现文件的分片上传功能,使用localstore或其他的存储技术还可以实现文件的端点续传功能

使用ajax上传文件

标签:

原文地址:http://www.cnblogs.com/zp900704/p/5031071.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!