• 上传图片


    <img src="~/Content/img/btn_1.png" class="img-responsive" id="a_pic">
    <input class="btn_upimg" type="file" />

    $(".btn_upimg").change(function () {
    var $img = $(this).prev();
    console.log($(this).prop('files'))
    if ($(this).prop('files').length === 0) {
    alert("请选择图片");
    return;
    }
    var oFile = $(this).prop('files')[0];
    if (!new RegExp("(jpg|jpeg|png)+", "gi").test(oFile.type)) {
    alert("照片上传:文件类型必须是JPG、JPEG、PNG");
    return;
    }
    var reader = new FileReader();
    reader.onload = function (e) {
    var base64Img = e.target.result;
    //压缩前预览
    console.log(base64Img)
    $img.attr("src", base64Img);
    $.post("/LotteryDraw/uploadImg", { img: base64Img }, function (data) {
    var obj = eval('(' + data + ')')
    if (obj.Error_code ==="I2001") {
    $img.attr("success_src", obj.Data.img_stc);
    $img.next().next().hide();
    } else {
    $img.next().next().show();
    }
    console.log(obj);

    })

    };
    reader.readAsDataURL(oFile);
    })

    public string uploadImg(string img) {
    //string imgsrc = UpImg(img);
    Pacific.PoubtsShop.Common.ResultJsonInfo<imgJson> s = new PoubtsShop.Common.ResultJsonInfo<imgJson>();
    imgJson imgsrc = new imgJson();
    imgsrc.img_stc = UpImg(img);
    s.Status = 0;

    if (imgsrc.img_stc=="")
    {
    s.Msg = "图片上传失败!";
    s.Error_code = "I4001";
    }
    else
    {
    s.Msg = "图片上传成功!";
    s.Error_code = "I2001";
    }
    s.Data = imgsrc;

    return JsonConvert.SerializeObject(s);
    }

    public class imgJson {
    public string img_stc { get; set; }
    }

    /// <summary>
    /// 图片上传保存
    /// </summary>
    /// <param name="strbase64"></param>
    /// <returns></returns>
    public string UpImg(string strbase64)
    {
    try
    {
    string imgType = strbase64.Split(';')[0];
    imgType = imgType.Split('/')[1];
    strbase64 = strbase64.Split(',')[1];
    byte[] arr = Convert.FromBase64String(strbase64);
    MemoryStream ms = new MemoryStream(arr);
    Bitmap bmp = new Bitmap(ms);
    string path = "\upload\img\";
    string tmpRootDir = System.Web.HttpContext.Current.Server.MapPath(System.Web.HttpContext.Current.Request.ApplicationPath.ToString());//获取程序根目录
    string imageUrl = tmpRootDir + path.Replace(@"/", @""); //转换成绝对路径
    string imageName = "";
    if (imgType.ToLower() == "png")
    {
    imageName = DateTime.Now.ToString("yyyyMMddHHmmss_ffff", DateTimeFormatInfo.InvariantInfo) + ".png";
    bmp.Save(imageUrl + imageName, ImageFormat.Png);
    }
    else if (imgType.ToLower() == "gif")
    {
    imageName = DateTime.Now.ToString("yyyyMMddHHmmss_ffff", DateTimeFormatInfo.InvariantInfo) + ".gif";
    bmp.Save(imageUrl + imageName, ImageFormat.Gif);
    }
    else if (imgType.ToLower() == "bmp")
    {
    imageName = DateTime.Now.ToString("yyyyMMddHHmmss_ffff", DateTimeFormatInfo.InvariantInfo) + ".bmp";
    bmp.Save(imageUrl + imageName, ImageFormat.Bmp);
    }
    else if (imgType.ToLower() == "jpeg")
    {
    imageName = DateTime.Now.ToString("yyyyMMddHHmmss_ffff", DateTimeFormatInfo.InvariantInfo) + ".jpg";
    bmp.Save(imageUrl + imageName, System.Drawing.Imaging.ImageFormat.Jpeg);
    }
    //bmp.Save(imageUrl+"test.jpg", System.Drawing.Imaging.ImageFormat.Jpeg);
    //bmp.Save("test.bmp", ImageFormat.Bmp);
    //bmp.Save("test.gif", ImageFormat.Gif);

    ms.Close();
    return "/upload/img/" + imageName;
    // Context.Response.Write("{"status":1,"message":"" + bmp + ""}");

    }
    catch (Exception e)
    {
    return "";
    //Context.Response.Write("{"status":1,"message":"操作错误!"}");
    }
    }

  • 相关阅读:
    加法的位运算实现
    C++装饰器模式
    字符串类型的相互转换
    手算CRC及其实现
    Linux下搭建C/C++编程环境
    Deepin Linux 实体机安装
    Atom + Texlive 配置 Latex 环境
    有关字符串的算法(KMP,Manacher,BM)陆续补充
    Linux 下大文件分割与合并
    Ubuntu /目录满,发现是docker image 太多解决办法
  • 原文地址:https://www.cnblogs.com/ztf20/p/9886093.html
Copyright © 2020-2023  润新知