input type= file经过ajax 来异步上传

  1. input类型设为file:
    <label for="img_input"></label> <input id="img_input" type="file"/>

     

  2. 获取文件内容:javascript

    var file = document.getElementById('fileToUpload').files[0];

     

  3. 上传: XMLHttpRequest Level 2添加了一个新的接口FormData。利用FormData对象,咱们能够经过JavaScript用一些键值对来模拟一系列表单控件。比起普通的Ajax,使用FormData的最大优势就是咱们能够异步上传一个二进制文件。html

    // 建立 
    var form_data = new FormData(); 
    // 获取文件 
    var file_data = $("#img_input").prop("files")[0]; 
    // 把因此表单信息 
    form_data.append("id", "001"); 
    form_data.append("name", "test"); 
    form_data.append("img", file_data); 
    $.ajax({ 
      type: "POST",
      url: "....",
      dataType : "json",
      processData: false, // 注意:让jQuery不要处理数据
      contentType: false, // 注意:让jQuery不要设置
      contentType data: form_data
    }).success(
        function(msg) { console.log(msg); }
       ).fail(
        function(msg) { console.log(msg); }
       );
相关文章
相关标签/搜索