C# ajax上传图片

前台页面 

//上传图片
function UploadFile() {
    var file = $('#fileInput').files[0]
    if(CheckFile(file,1)!='通过')
    {
        return;
    }
    var formdata = new FormData();
    //文件
    formdata.append("file", file);
    formdata.append("cmd", 'uploadimg');

    //console.log(formdata);
    //显示loading
    //ShowLoading(true);

    $.ajax({
        type: "post",
        url: "./Action/ChatAction.aspx",
        data: formdata,
        //async: false,
        /**
             *必须false才会自动加上正确的Content-Type
        */
        contentType: false,
        /**
             * 必须false才会避开jQuery对 formdata 的默认处理
             * XMLHttpRequest会对 formdata 进行正确的处理
        */
        processData: false,
        dataType: 'json',
        success: function (data) {
            //图片上传成功
            if (data.status == 0) {
                
            }
            //图片上传失败
            else {
                console.log(data.errMsg);
            }
            //隐藏loading
            ShowLoading(false);

        },
        error: function (data) {
            console.log(data.statusText);
            //隐藏loading
            ShowLoading(false);
        }
    });
}

//检查文件类型、大小
function CheckFile(file, type) {
    let allowType = {
        ".png": 1, ".jpeg": 1, ".jpg": 1, ".gif": 1,
        ".mp3": 2,
        ".mp4": 3
    };
    let allowSize = { 1: 2097152, 2: 5242880, 3: 20971520 };
    let errMsg = {
        "1": '图片格式不正确',
        "2": '音频格式不正确',
        "3": '视频格式不正确'
    };
    let errSizeMsg = {
        '1': '图片文件大于2M',
        '2': '音频文件大于5M',
        '3': '视频文件大于20M',
    }
    let ext = file.name.substr(file.name.lastIndexOf(".")).toLowerCase();
    let res = allowType[ext];
    if (res != type) {
        return errMsg[type];
    }
    if (file.size > allowSize[res]) {
        return errSizeMsg[type];
    }
    return '通过';
}

后台页面

private void DoUploadImg() {
    string retVal = "{\"status\":1,\"errMsg\":\"图片上传失败\" }";
    try
    {
        var files = Request.Files;
        if (files.Count > 0)
        {
            var Upload_image = files[0];
            //图片后缀名
            string ext = System.IO.Path.GetExtension(Upload_image.FileName).ToLower();

            if (Upload_image.ContentLength > 1024 * 1024 * 2)
            {
                retVal = "{\"status\":2,\"errMsg\":\"图片大小超过限制,最大不能超过2M\" }";
            }
            else if ((ext != ".jpg" && ext != ".gif" && ext != ".png" && ext != ".jpeg"))
            {
                retVal = "{\"status\":2,\"errMsg\":\"图片格式不支持\" }";
            }
            else {
                //指定上传文件在服务器上的保存路径
                string foldPath = string.Format(@"upload\{0}\{1}", DateTime.Now.ToString("yyyy"), DateTime.Now.ToString("MM"));
                string mapPath = HttpContext.Current.Server.MapPath("~/");
                //检查服务器上是否存在这个物理路径,如果不存在则创建
                if (!System.IO.Directory.Exists(mapPath + foldPath))
                {
                    System.IO.Directory.CreateDirectory(mapPath + foldPath);
                }
                //图片重命名,userid+getdatetime
                string time = DateTime.Now.ToString("yyyyMMddhhmmss");
                string newname = time + ext;
                string savePath = mapPath + foldPath + "\\" + newname;
                Upload_image.SaveAs(savePath);

                string ImageUrl = @"/" + foldPath.Replace(@"\", "/") + @"/" + newname;

                retVal = "{\"status\":0,\"errMsg\":\"" + ImageUrl + "\" }";
            }
        }
        else
        {
            retVal = "{\"status\":1,\"errMsg\":\"没有选择图片\" }";
        }
    }
    catch (Exception eX)
    {
        retVal = "{\"status\":1,\"errMsg\":\"" + eX.Message + "\" }";
    }
    Response.Write(retVal);
}

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值