当前位置: 首页 > news >正文

广州网站的优化山东大学经济研究院

广州网站的优化,山东大学经济研究院,厚街网站建设公司,伯才建筑人才网.net 以前是用System.Drawing来处理图片,但是在dcoker 、linux上用不了 微软官方推荐用 1、SkiaSharp 如果项目运行到docker里,需要NUGET安装SkiaSharp.NativeAssets.Linux.NoDependencies 注意:如果你同时引用SkiaSharp.NativeAssets.Li…

.net 以前是用System.Drawing来处理图片,但是在dcoker 、linux上用不了

微软官方推荐用

1、SkiaSharp

如果项目运行到docker里,需要NUGET安装SkiaSharp.NativeAssets.Linux.NoDependencies

注意:如果你同时引用SkiaSharp.NativeAssets.Linux和SkiaSharp.NativeAssets.Linux.NoDependencies 可能会导致docker中运行报错,记得只能引用一个SkiaSharp.NativeAssets.Linux.NoDependencies

2、ImageSharp 

我感觉这个用起来简单一些

nuget安装SixLabors.ImageSharp

使用:

这里用ImageSharp 为例子

我这里是通过jquery蒋图片转为base64 ,用法见jquery把图片路径转成base64_mob649e815e258d的技术博客_51CTO博客

新建controller,接收前端提交过来的base64,并返回上传后的文件名

  public string addFileToServer(string base64stringdata, string oldfilename){byte[] imgBytes;if (base64stringdata.Contains(",")){//前端用jQuery将图片路径转换为base64的话,这里需要 // 或者在jquery取值时先将Data URL转换为base64字符串var base64String = dataURL.split(",")[1];imgBytes = Convert.FromBase64String(base64stringdata.Remove(0, base64stringdata.IndexOf(',') + 1));}else{imgBytes = Convert.FromBase64String(base64stringdata);}//取后缀名string strext =  System.IO.Path.GetExtension(oldfilename);if (strext == ".jpg" || strext == ".gif" || strext == ".jpeg" || strext == ".bmp" || strext == ".png"){ //图片自动压缩 并上传       imgBytes = ImageSharpTools.ImageReSise(imgBytes, strext, 800, 800);}//上传文件string    returnFileName = new FastDFSNetCoreHelper().Upload(imgBytes, strext);return returnFileName ;}

nuget安装SixLabors.ImageSharp

新建类 ImageSharpTools.cs

 public class ImageSharpTools{/// <summary>/// 调整图片尺寸/// </summary>/// <param name="imageBytes">字节流</param>/// <param name="ext">后缀名</param>/// <param name="towidth">设置宽度</param>/// <param name="toheight">设置高度</param>/// <returns></returns>public static byte[] ImageReSise(byte[] imageBytes,string ext,int towidth,int toheight){var image = Image.Load(imageBytes);int imageWidh = image.Width;int imageHight = image.Height;if (imageWidh > imageHight){//如果宽大于高,调整比例if (imageWidh > towidth){toheight = (int)(imageHight * ((double)towidth / (double)imageWidh));imageWidh = towidth;}else{towidth = imageWidh;}}if (imageWidh < imageHight){ //如果宽小于高,调整比例if (imageHight > toheight){towidth = (int)(imageWidh * ((double)toheight / (double)imageHight));imageHight = toheight;}else{toheight = imageHight;}}//调整图片尺寸image.Mutate(x => x.Resize(towidth, toheight, KnownResamplers.Spline));MemoryStream ms = new MemoryStream();image.SaveAsPngAsync(ms);var byteFile = ms.ToArray();ms.Close();ms.Dispose();image.Dispose();return byteFile;}
}

nuget安装FastDFSNetCore

新建类:FastDFSNetCoreHelper.cs

using FastDFS.Client;
using System.Net;public class FastDFSNetCoreHelper{public string Upload(byte[] imgBytes, string ext){if (ext.Contains(".")){ext = ext.Replace(".", "");}           List<IPEndPoint> pEndPoints = new List<IPEndPoint>(){//设置dfs的服务器地址和端口new IPEndPoint(IPAddress.Parse("10.112.250.130"), 2315)};ConnectionManager.Initialize(pEndPoints);StorageNode storageNode = FastDFSClient.GetStorageNodeAsync().Result;var str = FastDFSClient.UploadFileAsync(storageNode, imgBytes, ext);return "/" + storageNode.GroupName + "/" + str.Result.ToString();}}

完美OK

http://www.mmbaike.com/news/27567.html

相关文章:

  • 建设wap手机网站app联盟推广平台
  • 哪些网站可以做商家网站免费进入窗口软件有哪些
  • 做动态网站的app网站优化网
  • 衡水做网站建设服务之家网站推广
  • 大连建设学校seo沈阳
  • 湘潭做网站 i磐石网络河北百度seo点击软件
  • 夸克破解可看禁用网站深圳网站seo地址
  • 做网站需要准备哪些东西镇江搜索优化技巧
  • 封开网站建设公司建站
  • 代做毕业设计的网站好百度一下 你知道首页
  • 要做一个网站需要准备什么竞价排名的定义
  • 免费html5网站模板推广链接怎么制作
  • eclipse的开发网站开发推广网站
  • 怎么做平台网站吗河南制作网站公司
  • 越秀营销型网站海外推广是做什么的
  • 北京市住房和城乡建设委员会网站官网电商平台排行榜前十名
  • 网站 icp备案怎样在平台上发布信息推广
  • 装饰设计网站建设培训seo哪家学校好
  • 松江 网站建设公司网络安全有名的培训学校
  • 福州公司做网站百度一下百度搜索官网
  • 做传奇网站云服务器地域改选哪里第一接单网app地推和拉新
  • wordpress自适应汉化主题seo网站推广招聘
  • 建设网站需要购买数据库吗淘宝关键词热度查询工具
  • 企业网站的一般要素包括哪里有营销策划培训班
  • wordpress搬到谷歌服务器网站优化关键词公司
  • 邪恶东做图网站百度营销登录平台
  • 织梦网站为什么容易被注入网站优化一年多少钱
  • 响应式网站建设哪里有百度推广公司电话
  • 网站开发主要语言百度 营销推广多少钱
  • 蚌埠市做家教网站效果最好的推广软件