zoukankan      html  css  js  c++  java
  • 上传并压缩图片

    <script src="js/lrz.pc.min.js" type="text/javascript"></script>       //电脑端
    <script src="js/lrz.mobile.min.js" type="text/javascript"></script> //手机端

    //js代码 

    var filename = $("#fileName").val();

    var mime = filename.toLowerCase().substr(filename.lastIndexOf("."));

    if (mime == ".jpg" || mime == ".png" || mime == ".jpeg" || mime == ".gif") {
      var sizes = $("#" + c)[0].files[0].size;
      if (sizes > 1024 * 1024 * 5) {
      layer.msg("您上传的文件不能大于5M");
      return;
    }
    // loading层
    var index = layer.msg('加载中', { icon: 16, time: 30000 });
    lrz($("#fileName")[0].files[0], { quality: 0.5, height: 1500 }, function (rst) {
      var file = rst.base64;
      if (file.indexOf("image") >= 0) {
      var fd = new FormData();
      fd.append("fileToUpload", file);
      fd.append("CallType", "UploadImg");
      fd.append("strType", e);
      var xhr = new XMLHttpRequest();
      xhr.addEventListener("load", uploadComplete, false);
      xhr.open("POST", "/ashx/OrderNote.ashx", false);
      xhr.send(fd);
    }
      function uploadComplete(evt) {
        var data = evt.target.responseText;
        if (data != "") {
        ……………………
        }
        layer.close(index);
      }
    });
    } else {
      layer.msg("你上传的图片格式不正确,请重新选择!");
      return;
    }

    //一般处理程序OrderNote.ashx

    string datetimestring = DateTime.Now.ToString("yyyyMMddhhmmss");  

    var picbase = HttpContext.Current.Request.Form["fileToUpload"];
    if (picbase != null)
    {
      MemoryStream stream = new MemoryStream(Convert.FromBase64String(picbase.ToString().Replace("data:image/jpeg;base64,", "")));
      Bitmap img = new Bitmap(stream);
      if (!Directory.Exists(context.Server.MapPath("\assets\UploadImgs")))//如果不存在就创建file文件夹
      {
        Directory.CreateDirectory(context.Server.MapPath("\assets\UploadImgs"));
      }
      string imgpath = HttpContext.Current.Server.MapPath("\assets\UploadImgs\");//路径,相对于服务器当前的路径
      imgpath = String.Format("{0}{1}.jpg", imgpath, datetimestring);
      string XdPath = "assets/UploadImgs/" + datetimestring + ".jpg";
      img.Save(imgpath);

    }

    //另一种上传图片的方式

    //HttpPostedFile hpf = HttpContext.Current.Request.Files["fileToUpload"];//HttpPostedFile提供对客户端已上载的单独文件的访问
    //if (hpf != null)
    //{
    // string houzhui = Path.GetExtension(hpf.FileName);
    // if (!Directory.Exists(context.Server.MapPath("\assets\UploadImgs")))//如果不存在就创建file文件夹
    // {
    // Directory.CreateDirectory(context.Server.MapPath("\assets\UploadImgs"));
    // }
    // string savepath = context.Server.MapPath("\assets\UploadImgs\" + datetimestring + houzhui);//路径,相对于服务器当前的路径
    // string PicURL = "assets/UploadImgs/" + datetimestring + houzhui;
    // hpf.SaveAs(savepath);//保存

  • 相关阅读:
    Mybatis Plus整合PageHelper分页的实现示例
    关于xlrd最新版本不支持.xlsx文件的解决办法
    mysql 错误解决大法 Specified key was too long; max key length is 767 bytes
    php连接redis
    flask通过request.path获取定义view函数的文件和行号
    使用bash内置命令complete来实现参数补全
    linux下对比两个文件夹下python文件的差异
    ssh登录后自动切换到原来的目录
    ssh &2>1 和重定向顺序问题
    wsl1(win10)中安装bochs
  • 原文地址:https://www.cnblogs.com/gca123/p/6567973.html
Copyright © 2011-2022 走看看