欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

c#、asp.net 基于ajaxfileupload.js 实现文件异步上传

程序员文章站 2022-05-07 21:04:07
前台代码:   /*修改头像*/       //上传       function _sc() { &...
前台代码:  

/*修改头像*/  

    //上传  

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

            }  

        }  

    }  

}