首页 技术 正文
技术 2022年11月14日
0 收藏 696 点赞 5,021 浏览 2404 个字

这是我第一次在layui环境下面使用croppers插件.先粘贴下前端代码并附上我的目录结构吧。

  1.   
  2.  @{
  3.  ViewData[“Title”] = “Croppers”;
  4.  }
  5.   
  6.  <!DOCTYPE html>
  7.  <html>
  8.  <head>
  9.  <meta charset=”utf-8″ />
  10.  <title></title>
  11.  <link href=”~/lib/layui/layui.css” rel=”stylesheet” />
  12.   
  13.  </head>
  14.  <body>
  15.  <div class=”layui-form-item”>
  16.  <label class=”layui-form-label”>头像</label>
  17.  <div class=”layui-input-inline”>
  18.  <input type=”text” name=”head” lay-verify=”required” id=”inputimgurl” placeholder=”图片地址” value=”123.jpg” class=”layui-input”>
  19.  </div>
  20.  <div class=”layui-input-inline”>
  21.  <div class=”layui-upload-list” style=”margin:0″>
  22.  <img src=”./微信图片_20190404185124.png” id=”srcimgurl” class=”layui-upload-img”>
  23.  </div>
  24.  </div>
  25.  <div class=”layui-input-inline layui-btn-container” style=”width: auto;”>
  26.  <button class=”layui-btn layui-btn-primary” id=”editimg”>修改图片</button>
  27.  </div>
  28.  <div class=”layui-form-mid layui-word-aux”>头像的尺寸限定150x150px,大小在50kb以内</div>
  29.  </div>
  30.  <script src=”~/lib/layui/layui.js”></script>
  31.   
  32.   
  33.   
  34.  <link href=”~/lib/layui/cropper/cropper.css” rel=”stylesheet” />
  35.  <script src=”~/lib/layui/cropper/croppers.js”></script>
  36.  <script>
  37.  layui.config({
  38.  base: ‘/lib/layui/cropper/’ //layui自定义layui组件目录
  39.  }).use([‘form’, ‘croppers’], function () {
  40.  var $ = layui.jquery
  41.  , form = layui.form
  42.  , croppers = layui.croppers
  43.  , layer = layui.layer;
  44.   
  45.  //创建一个头像上传组件
  46.  croppers.render({
  47.  elem: ‘#editimg’
  48.  , saveW: 150 //保存宽度
  49.  , saveH: 150
  50.  , mark: 1 / 1 //选取比例
  51.  , area: ‘900px’ //弹窗宽度
  52.  , url: “/Home/UpLoadImg” //图片上传接口返回和(layui 的upload 模块)返回的JOSN一样
  53.  , done: function (url) { //上传完毕回调
  54.  debugger
  55.  $(“#inputimgurl”).val(url);
  56.  $(“#srcimgurl”).attr(‘src’, url);
  57.  }
  58.  });
  59.   
  60.  });
  61.  </script>
  62.  </body>
  63.  </html>

下面的这张图是我的目录结构!

下面这张图是我的后台代码!

  1.  [HttpPost]
  2.  public async Task<IActionResult> UpLoadImg()
  3.  {
  4.  var date = Request;
  5.  var files = Request.Form.Files;
  6.  long size = files.Sum(f => f.Length);
  7.  string webRootPath = _webHostEnvironment.WebRootPath;
  8.   
  9.  string newFileName = “”;
  10.  foreach (var formFile in files)
  11.  {
  12.  if (formFile.Length > 0)
  13.  {
  14.   
  15.  string fileExt = System.IO.Path.GetExtension(formFile.FileName); //文件扩展名,不含“.”
  16.  long fileSize = formFile.Length; //获得文件大小,以字节为单位
  17.  newFileName = System.Guid.NewGuid().ToString() + “.” + fileExt; //随机生成新的文件名
  18.  var filePath = webRootPath + “/upload/” + newFileName;
  19.  using (var stream = new FileStream(filePath, FileMode.Create))
  20.  {
  21.   
  22.  await formFile.CopyToAsync(stream);
  23.  }
  24.   
  25.  }
  26.  }
  27.  return Json(new { code = 0,msg=”上传成功”, data =new { src= “/upload/” + newFileName } });
  28.   
  29.  }

需要注意的是这个json返回格式我一开始参考了很多网上的例子发现都是错误的,后来还是我认真阅读了这个js的后台代码找到了正确的返回格式

重点看绿色框框里面的匿名对象里面还有对象所以new里面还要一个new。

总结下遇到几个花费了我时间的其他方面的点。第一是新的.net core框架mvc做的都是异步任务,其次再访问根目录的方法跟以前不一样了,大家可以看代码多体会体会!

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,085
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,560
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,409
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,182
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,819
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,902