之前写过一篇文章

.NET 响应式自动缩略图服务器

之后对此Image Server又进行了基于ImageResizer的改写

  1. 基于.NET
  2. 图片服务器
  3. 支持缩略图格式
  4. 基于 ImageResizer

作为一个Web Server来部署 ResizingServer ,可以通过更改Web.Config

  <appSettings>
<add key="UploadRouteUrl" value="api" /><!-- 设置上传时的Route规则 http://host/{UploadRouteUrl} -->
<add key="ApiKey" value="48DFD0EE-61A2-4CB5-B1D6-33E917A83202" /><!-- 上传时所用的ApiKey -->
<add key="AllowFolders" value="face,images" /><!-- 文件夹/类别 对不同业务线存储不同使用不同文件夹的情况 -->
</appSettings>

物理路径 将类似 upload/face/1508/21/5a020a4161f543f197ddc0965aeeb66d.jpg

目录结构为

  • upload

    • category(AllowFolders 中所允许的都可以)

      • yyMM (年和月)

        • dd (天)

          • {guid}.jpg

上传后返回这样格式的URL /u/face/b96225af353d15504302a087f4f46bb0151d1c{0}x{1}{2}.jpg 称之为FormatUrl

通过 ResizingClient 的转换可以转换为这样

/u/face/b96225af353d15504302a087f4f46bb0151d1cxc.jpg

Client Demo

通过NuGet安装客户端

Install-Package ResizingClient

上传图片代码

var result=ResizingUtil.Upload(File.ReadAllBytes("d:\\a.jpg"), "a.jpg", "face").Result;
Console.WriteLine(result.FormatUrl);//like /u/face/b96225af353d15504302a087f4f46bb0151d1c{0}x{1}{2}.jpg
//Assert.IsTrue(result.IsSuccess);

{0}:宽 {1}:高 {2}:缩略模式

缩略模式:

  • c:crop
  • m:max
  • p:pad

转化FormatUrl

using ResizingClient;
// ...
var url1 = ResizingUtil.Format(url,,,ResizingMode.Pad);
var url1 = ResizingUtil.Format(url,,);

  

源代码地址

https://github.com/chsword/ResizingServer

.NET 缩略图服务器 ResizingServer的更多相关文章

  1. .NET 响应式自动缩略图服务器

    做互联网网站,总是会涉及到缩略图问题,之前一直是在上传图片时生成不同尺寸的缩略图,一直感觉又费力又不好管理,之后就写子 ThumbnailServer 用于部署一个图片服务器,在使用图片时才将图片转为 ...

  2. Erlang/Elixir: 使用 OpenCV, Python 搭建图片缩略图服务器

    这篇文章是在OSX上测试和运行的的, Ubuntu下的安装和配置请移步到这里 应用程序进程树, 默认 Poolboy 中初始化10个用于处理图片的 Python 工作进程(Worker) 首先安装Op ...

  3. Android开发优化宝典

    I. 网络相关 http头信息带Cache-Control域 确定缓存过期时间 防止重复请求 直接用IP直连,不用域名,策略性跟新本地IP列表. – DNS解析过程耗时在百毫秒左右,并且还有可能存在D ...

  4. canvas前端压缩图片和视频首屏缩略图并上传到服务器

    图片: var img = document.createElement('img') img.src = window.URL.createObjectURL(fileObj.file) // 加载 ...

  5. 强大的flash头像上传插件(支持旋转、拖拽、剪裁、生成缩略图等)

    今天介绍的这款flash上传头像功能非常强大,支持php,asp,jsp,asp.net 调用 头像剪裁,预览组件插件. 本组件需要安装Flash Player后才可使用,请从http://dl.pc ...

  6. Asp.Net 上传图片并生成高清晰缩略图

    在asp.net中,上传图片功能或者是常用的,生成缩略图也是常用的.baidu或者google,c#的方法也是很多的,但是一用却发现缩略图不清晰啊,缩略图片太大之类的事情,下面是我在处理图片上的代码, ...

  7. PHP之图片上传类(加了缩略图)

    有缩略图功能 但是 感觉不全面,而且有点问题,继续学习,将来以后修改下 <form action="<?php $_SERVER['PHP_SELF']; ?>" ...

  8. 自己家里搭建NAS服务器有什么好方案?

    转自:https://www.zhihu.com/question/21359049 作者:陈二发链接:https://www.zhihu.com/question/21359049/answer/6 ...

  9. 如何将APP部署在阿里云服务器

    1,APP应用需要什么样的云服务器? 为了帮助大家了解如何使用阿里云云服务器及相关应用,阿里云的移动云团队开发了一个简单的APP应用:移动云相册,其中使用了ECS主要用作部署云相册的API服务(图片信 ...

随机推荐

  1. CSS垂直居中和水平居中

    前言 CSS居中一直是一个比较敏感的话题,为了以后开发的方便,楼主觉得确实需要总结一下了,总的来说,居中问题分为垂直居中和水平居中,实际上水平居中是很简单的,但垂直居中的方式和方法就千奇百怪了. 内联 ...

  2. CClayer ignoreAnchorPointForPosition 参数的作用

    ignoreAnchorPointForPosition:忽略锚点对于位置的设定.即非位置的设定(比如说缩放),则不受此参数的控制. 并且默认情况下CCLayer的默认锚点是 中点,而不是左下角的点. ...

  3. Win10 UWP 开发系列:使用SplitView实现汉堡菜单及页面内导航

    在Win10之前,WP平台的App主要有枢轴和全景两种导航模式,我个人更喜欢Pivot即枢轴模式,可以左右切换,非常方便.全景视图因为对设计要求比较高,自己总是做不出好的效果.对于一般的新闻阅读类Ap ...

  4. 使用js批量选中功能实现更改数据库中的status状态值(批量展示)

    我们在开发项目的时候经常会在后台管理时用到批量展示功能来动态的修改数据库的值.下面以修改数据库的status状态值来实现批量展示功能.批量选中功能引用js来实现.前端html代码: <table ...

  5. Java程序,基本数据类型、、数据类型转换、变量和常量、常用运算符

    一.基本数据类型 整数类型:byte.short. int(常用).long(较常用)     定义某个变量          int  a=10: 浮点类型(小数):float.double(常用) ...

  6. ABP之Javascript生成

    还是服务 在调试SimpleTaskSystem的AngularJs demo时,一开始我只看到对服务的应用. app.controller(controllerId, [ '$scope', 'ab ...

  7. keleyi菜单0.1.5版本发布了

    keleyi菜单是一个让你轻松创建向上弹出菜单的jquery插件. 最新版本0.1.5增加了显示三角形的功能,当一级菜单包含有子菜单时,会在一级菜单的右侧显示一个小三角形.如图所示: 查看例子:htt ...

  8. 纯CSS3魔方的制作

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  9. arcgis10.2.2地图服务切图具体步骤

    1.未发布的参照http://www.cnblogs.com/oolili/p/4752114.html 2.在发布地图服务的基础上,打开Arccatalog,找到发布的地图服务选项,如下图: 右键地 ...

  10. addEventListener和attachEvent的区别

    addEventListener共有3个参数,如下所示:element.addEventListener(type,listener,useCapture); 参数 参数说明 element 要绑定事 ...