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(); 

            } 

        } 

    } 

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

以上是 asp.net+ajaxfileupload.js 实现文件异步上传代码分享 的全部内容, 来源链接: utcz.com/z/345156.html

回到顶部