日期:2014-05-16  浏览次数:21253 次

c#、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)