欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

c#asp.net 基于ajaxfileupload.js 实现资料异步上传

更新时间: 2014-01-05 01:50:21 责任编辑: Author_N1

 

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


上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 01:50:21
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/1835/
本文WWW.DOC100.NET DOC100.NET版权所有。