asp.net+ajaxfileupload.js 实现文件异步上传代码分享

  由于代码很简单,这里就闲话不多说了,直接上代码,小伙伴们自己研读代码就明白了。

  前台代码:

  

复制代码 代码如下:

  /*修改头像*/

  //上传

  function _sc() {

  $(".ckfile").html("").css("color", "#535353");

  $("#_userImgPath").val("");

  var str = $("#file").val();

  if ($.trim(str) == "") {

  $(".ckfile").html("请选择文件。").css("color", "red");

  return false;

  }

  else {

  var postfix = str.substring(str.lastIndexOf(".") + 1).toUpperCase();

  if (postfix == "JPG" || postfix == "JPEG" || postfix == "PNG" || postfix == "GIF" || postfix == "BMP") {

  $('#showimg').attr('src', 'Images/loading.gif').attr("title", "上传中,请稍后…");

  var path = "Upload/UserImg";

  $.ajaxFileUpload({

  url: '/Upload.aspx?path=Upload|UserImg&shape=100*100',

  secureuri: false,

  fileElementId: 'file',

  dataType: 'text',

  success: function (msg) {

  if (msg.lastIndexOf(path) == -1) {

  $(".ckfile").html(msg).css("color", "red");

  }

  else {

  $('#showimg').attr('src', msg).attr("title", "我的头像");

  $("#_userImgPath").val(msg);

  }

  }

  });

  } else {

  $(".ckfile").html("文件格式错误。").css("color", "red");

  return false;

  }

  }

  }

  后台代码:

  

复制代码 代码如下:

  using System;

  using System.Collections.Generic;

  using System.Linq;

  using System.Web;

  using System.Web.UI;

  using System.Web.UI.WebControls;

  using SS.Upload;

  using WFC.Fenxiao;

  namespace wanfangcheng

  {

  public partial class Upload : BasePage

  {

  //文件大小 1024 kb

  private long size = 1024;

  //文件类型

  private string type = ".jpg|.jpeg|.png|.gif|.bmp";

  //保存名称

  string name = "";

  //保存路径

  private string path = @"Upload/UserImg";

  //保存大小

  private string shape = "100*100";

  protected void Page_Load(object sender, EventArgs e)

  {

  HttpFileCollection files = Request.Files;

  if (files != null && files.Count > 0)

  {

  name = BaseRole.Instance.UserId.ToString();

  if (Request.QueryString["size"] != null)

  {

  size = Convert.ToInt32(Request.QueryString["size"]);

  }

  if (Request.QueryString["path"] != null)

  {

  path = Request.QueryString["path"].ToString().Trim().Replace('|', '/');

  }

  if (Request.QueryString["name"] != null)

  {

  name = Request.QueryString["name"].ToString().Trim();

  }

  if (Request.QueryString["shape"] != null)

  {

  shape = Request.QueryString["shape"].ToString().Trim();

  }

  uploadMethod(files);

  }

  }

  /// <summary>

  /// 上传图片

  /// </summary>

  /// <param name="hc"></param>

  public void uploadMethod(HttpFileCollection hc)

  {

  HttpPostedFile _file = hc[0];

  //文件大小

  long _size = _file.ContentLength;

  if (_size <= 0)

  {

  Response.Write("文件错误。");

  Response.End();

  return;

  }

  if (size * 1024 < _size)

  {

  Response.Write("文件过大,最大限制为" + size + "KB。");

  Response.End();

  return;

  }

  //文件名

  string _name = _file.FileName;

  //文件格式

  string _tp = System.IO.Path.GetExtension(_name).ToLower();

  if (type.IndexOf(_tp) == -1)

  {

  Response.Write("文件格式错误。");

  Response.End();

  return;

  }

  //保存路径

  string _path = HttpContext.Current.Server.MapPath(path) + @"/" + name + _tp;

  try

  {

  int w = Convert.ToInt32(shape.Split('*')[0]);

  int h = Convert.ToInt32(shape.Split('*')[1]);

  ImageHelper.CutForCustom(_file, _path, w, h, 50);

  Response.Write(path + @"/" + name + _tp);

  }

  catch (Exception)

  {

  Response.Write("哎呦,出错了。");

  Response.End();

  }

  }

  }

  }

  是不是很实用,也很简单易懂呢,以上是自己项目中使用的代码,小伙伴们如果发现有问题的地方,还请告之。谢谢