.Net Core上传组件_.Net Core图片上传处理组件

矫情吗;* 2022-10-24 15:26 453阅读 0赞

一、.Net Core上传组件Uploader简介

1.前端jquery框架封装

2.后端,支持Asp.Net 和 Asp.Net Core 矿建

3.数据传输模式支持:WebScoket 、Ajax、Form 模式上传到服务器。

最新版本资料请参考官网:http://www.gongjuji.net/uploader/

二、Asp.Net Core 使用步骤 (此案例这对WebScoket方式讲解)

注意:跟多上传方式接收,请去官网了解。

第一步:安装组件 ,根据.net Core框架,选择对应的版本

  1. Install-Package UploadHandleCore

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTExMjcwMTk_size_16_color_FFFFFF_t_70

第二步:配置后端文件接收,从straup 文件中 的Configure方法

  1. public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
  2. {
  3. #region 绑定上传
  4. //绑定WebSocket处理,接收成功后,生成缩略图
  5. UploadHandle.ServerInfo.SitePath = env.WebRootPath; //使用wwwroot作为根目录
  6. app.Map("/upload/common", (con) =>
  7. {
  8. con.UseWebSockets();//启用webscoket
  9. con.Use((ctx, n) =>
  10. {
  11. Receiver _receive = new Receiver(ctx, "upload/logo");
  12. _receive.OnSuccess += (data) =>
  13. {
  14. };
  15. return _receive.DoWork();
  16. });
  17. });
  18. #endregion
  19. }

第三步:前端组件引用,和绑定

前端组件代码下载,请点击:http://www.gongjuji.net/uploader/

引用内容如下:

  1. <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
  2. <script src="http://cdn.jnqianle.cn/uploader/uploader6.3.min.js"></script>
  3. <link href="http://cdn.jnqianle.cn/uploader/uploader6.3.min.css" rel="stylesheet">

html组件初始化如下:

  1. <div id="uploadOne" class="uploader uploader-primary"></div>
  2. <script>
  3. $('#uploadOne').uploader({
  4. url: 'ws://' + location.host + '/upload/common',
  5. text: '选择文件',
  6. type: 'single',//上传类型
  7. fileExts: 'jpg;png;gif;',//支持的文件类型
  8. maxSize: 1024 * 1024 * 5,//文件大小,单位字节
  9. onSuccess: function(res){
  10. //上传成功触发
  11. console.info(res);
  12. }
  13. });
  14. </script>

效果如下:

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTExMjcwMTk_size_16_color_FFFFFF_t_70 1

特别说明,如果需要图片对话框剪切,请引用 Cover.js 组件,组件代码,请去官网下载。

三、使用示例说明

1.上传文件,配置类型 ,options配置

  1. type: 'single',//控件类型
  2. /*
  3. * 1.简单形式(single,单纯上传文件,自动提交)
  4. * 2.对话框形式(dialog,需要图片剪切处理)
  5. * 3.前台压缩,大小图片上传 (imgdouble) :不改变原图片的比例,在指定范围内等比例缩放,小图(minWidth*minHeight); 大图((maxWidth*maxHeight))
  6. * 4.前台最大比例,图片处理(fixedsize):固定比例缩放,最大化图片显示,剩余空间填充空白
  7. * 5.前台最大比例,图片剪切(fixedcut):固定比例缩放(maxWidth*maxHeight),最大化图片剪切
  8. * 6.前台裁剪,大小图处理(cutdouble):固定最小图(minWidth*minHeight),最大图(maxWidth*maxHeight),裁剪图片
  9. */

onSuccess(res){} ,处理上传后的逻辑

响应结果参数:

  1. newName: 上传后的文件名
  2. relativeName: 服务器上的相对地址
  3. size: 文件大小
  4. status: 1 上传状态

2.大小图上传

如果是大小图上传 ,响应结果 :res.small 小图信息;res.big 大图信息

  1. /**大小图片前台处理,后台简单处理模式,上传成功后显示图片**/
  2. var uploader = $('#uploadBtn').uploader({
  3. url: 'ws://www.gongjuji.net/common/upload',
  4. fileExts: 'jpg;png',
  5. text: '大小图模式上传',
  6. more: true,//是否可以上传多个
  7. auto: true, //是否自动上传
  8. type: 'imgdouble',
  9. minWidth: 100,
  10. minHeight: 100,
  11. maxWidth: 800,
  12. maxHeight: 600,
  13. handleType: '0',//对于大小图模式最好不要自动处理
  14. subfolder: 'touxiang',
  15. onSuccess: function (data) {
  16. //添加到列表,每个图片上传成功都会触发
  17. var row = $('.row');
  18. var col = $(' <div class="col-xs-6 col-md-3" />');
  19. var a = $('<a class="thumbnail" />');
  20. a.attr('href', data.big.relativeName);
  21. a.attr('title', '点击查看大图').attr('target','_blank');
  22. a.append('<img src=' + data.small.relativeName + ' />');
  23. col.append(a);
  24. row.append(col);
  25. }
  26. });

3.图片剪切上传

注意:裁剪模式需要引用cover.js 组件

  1. /*********剪切图片,后台自动处理模式+指定根目录的子文件夹保存**********/
  2. var uploader = $('#uploadBtn').uploader({
  3. url: 'ws://www.gongjuji.net/common/upload',
  4. fileExts: 'jpg;png',
  5. type: 'dialog',
  6. text: '剪切图片模式',
  7. subfolder: 'content',//默认后台处理简单模式 ,指定子文件夹
  8. more: false,//是否可以上传多个
  9. auto: true, //是否自动上传
  10. coverParams: {
  11. title: '设置头像',
  12. targetWidth: 100,
  13. targetHeight: 100
  14. },
  15. onSuccess: function (data) {
  16. $('#name').text(data.newName);
  17. $('#relativeName').attr('src', data.relativeName);
  18. }
  19. });

4.图片固定大小,最大化剪切上传

去官网看更新文章吧。。。。

更多:

HTTP协议简介1

C#域名操作,正则匹配域名

C# 常见Url操作实例(一)、正则表达式匹配URl

发表评论

表情:
评论列表 (有 0 条评论,453人围观)

还没有评论,来说两句吧...

相关阅读