小言_互联网的博客

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

359人阅读  评论(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框架,选择对应的版本

Install-Package UploadHandleCore

第二步:配置后端文件接收,从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>

效果如下:

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

 

三、使用示例说明

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

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

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


转载:https://blog.csdn.net/u011127019/article/details/113415523
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场