当前位置:首页 >> 网络编程

Jquery异步上传文件代码实例

这篇文章主要介绍了Jquery异步上传文件代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

一,view代码

<form role="form">
   <div class="form-group">
     <label for="keyinput">选择文件:</label>
     <input type="file" name="upfile" id="upfile" />
   </div>
   <div class="form-group">
     <input class="btn btn-minw btn-danger" type="button" onclick="importExp()" value="ajax导入" />
   </div>
</form>
function importExp() {
      var formData = new FormData();
      formData.append("file", document.getElementById("upfile").files[0]);
      $.ajax({
        type: 'POST',
        url: '/s/Import',
        data: formData,
        cache: false,
        contentType: false,
        processData: false,
        success: function (data) {
          layer.msg(data.msg);
            // 清空input file文件原生js
          var file = document.getElementById("upfile");
          // for IE, Opera, Safari, Chrome
          if (file.outerHTML) {
            file.outerHTML = file.outerHTML;
          } else { // FF(包括3.5)
            file.value = "";
          }
        }
      });
    }

二,控制器代码

public JsonResult ImportExecl()
    {
      bool isOk = false;
      var file = Request.Files[0];
      if (file == null || file.ContentLength <= 0)
      {
        return Json(new { IsOk = isOk, msg = "请上传excel文件" });
      }
      if (!new List<string>() { ".xls" }.Contains(Path.GetExtension(file.FileName)))
      {
        return Json(new { IsOk = isOk, msg = "请上传格式为.xls的excel文件" });
      }
        var a = file.InputStream;
     }

综上,就可以获取到file.InputStream文件流,然后对文件流的操作就可以了

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。