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

所属分类: 网络编程 / ASP.NET 阅读数: 255
收藏 0 赞 0 分享

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

前台代码: 

复制代码 代码如下:

/*修改头像*/ 
    //上传 
    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 水晶报表打印功能实现代码

ASP.NET下的水晶报表打印,据我所知有以下几种办法可以打印
收藏 0 赞 0 分享

ASP.Net 图片存入数据库的实现代码

在很多时候,我们有这样的需求:把图片存入到数据库当中。在一些应用程序中,我们可能有一些敏感的资料,由于存储在文件系统(file system)中的东西,将很容易被某些用户盗取,所以这些数据不能存放在文件系统中。
收藏 0 赞 0 分享

让Silverlight 2.0动画动起来Making Silverlight 2.0 animation Start(不能运动原因)

Microsoft Expression Blend 2 制作动画个人感觉倒像3DMAX 可以自动捕捉关键帧
收藏 0 赞 0 分享

asp.net Reporting Service在Web Application中的应用

由于我们这个项目中使用微软的报表服务(Reporting Services)作为报表输出工具,本人也对它进行一点点研究,虽没有入木三分,但这点知识至少可以在大部分Reporting Service的场景中应用。
收藏 0 赞 0 分享

C# 文件上传 默认最大为4M的解决方法

.net中默只能上传小于4m的文件,大于4M将无法显示页面.那么如何设置来使imputfile能上传更大的文件呢
收藏 0 赞 0 分享

asp.net 购物车实现详细代码

asp.net 购物车实现详细代码
收藏 0 赞 0 分享

asp.net repeater实现批量删除时注册多选框id到客户端

repeater批量删除时注册多选框id到客户端的实现代码
收藏 0 赞 0 分享

asp.net aspnetpager分页统计时与实际不符的解决办法

最近分页方面根据实际需要修改了一些函数
收藏 0 赞 0 分享

iis 服务器应用程序不可用的解决方法

访问页面时提示 服务器应用程序不可用,大家可以按照下面的方法重新注册下,应该能好点
收藏 0 赞 0 分享

asp.net button 绑定多个参数

asp.net button 绑定多个参数的代码
收藏 0 赞 0 分享
查看更多