缩略图相关

图片服务器上缩略图的那些事儿

最近一周又对图片服务器进行了一次升级,当然不是硬件上的。

作为一个图片类网站,我相信你会不可避免的遇到以下问题。

  • 1 怎么搭建独立的图片服务器
  • 2 图片服务器的目录结构怎么设计?
  • 3 web服务器怎么跟图片服务器打交道?
  • 4 每张图片有很多尺寸的缩略图,上传之后要全部生成吗?
  • 5 怎么提高程序中生成缩略图的效率,做到不影响用户体验?
  • 6 该死的产品经理又增加了许多新的需求,多出了几种缩略图尺寸,我该怎么办?

不管你想不相信,这些问题我都遇到了,而且对于没有任何经验的我,我才用了最容易想到,也是最笨的方法。看看我最开始的解决方法:

  • 1 买个服务器装个系统,要个大点的硬盘就完了呗。
  • 2 全部放到一个文件夹中。
  • 3 我会告诉你我用的是FTP的方式上传吗(我居然都没想到用NFS)
  • 4 全部生成,妥妥的
  • 5 没啥好办法,java里面写程序处理
  • 6 写了个java程序,动态处理这种自定义尺寸的缩略图

你会发现,我的这些解决方法都好傻啊。对,我也发现了。但是在当时来说,是我能想到的最有效的办法。

随着图片文件的增多,访问量的增大,怎么提升性能成了考虑的重点。把我现在的解决方案记录一下。

  • 1 这个没什么好说的。
  • 2 根据图片文件名称来存入指定的文件夹。例如图片名称为d5e0b1f51baeec36.jpg,放到/d5/e0/文件夹下,当然,也可以用上传时间等方式命名文件夹。通过Nginx rewrite到指定的文件夹。
  • 3 web服务器POST图片到图片服务器。图片服务器按照指定的规则保存。
  • 4 图片服务器只保存原图,如果访问的缩略图不存在,则生成后保存,生成的方式见下述。
  • 5 Nginx+lua+graphicsmagick搞定,具体的可以参见我前一篇文章。
  • 6 解决方法跟4,5条一样的。

============================================================

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

做互联网网站,总是会涉及到缩略图问题,之前一直是在上传图片时生成不同尺寸的缩略图,一直感觉又费力又不好管理,之后就写子

ThumbnailServer 用于部署一个图片服务器,在使用图片时才将图片转为对应的缩略图,类似淘宝图片空间

比如,物理上存在图片

/x.jpg 那么访问

/x.jpg_60X60.jpg

/x.jpg_600X600.jpg

就可以得到它的不同尺寸的缩略图

ThumbnailServer

可以支持:

路径-尺寸白名单

图片类型白名单

图片路径白名单

如下代码:

ThumbnailConfig.Start().Include("/Images", setting =>
                setting.AllSize().Store()
                );

在Application Start中配置即可

GitHub: https://github.com/chsword/ThumbnailServer

另外再推荐一个不错的响应式缩略图服务,功能很强大,按比例缩放、裁剪图片都可以通过Querystring来完成,优点是插件很多,功能强大

地址:http://imageresizing.net

/a.jpg

/a.jpg?w=120

/a.jpg?w=100&h=200

时间: 2024-07-31 01:58:11

缩略图相关的相关文章

背水一战 Windows 10 (86) - 文件系统: 获取文件夹的属性, 获取文件夹的缩略图

原文:背水一战 Windows 10 (86) - 文件系统: 获取文件夹的属性, 获取文件夹的缩略图 [源码下载] 作者:webabcd 介绍背水一战 Windows 10 之 文件系统 获取文件夹的属性 获取文件夹的缩略图 示例1.演示如何获取文件夹的属性FileSystem/FolderProperties.xaml <Page x:Class="Windows10.FileSystem.FolderProperties" xmlns="http://schema

背水一战 Windows 10 (87) - 文件系统: 获取文件的属性, 修改文件的属性, 获取文件的缩略图

[源码下载] 作者:webabcd 介绍背水一战 Windows 10 之 文件系统 获取文件的属性 修改文件的属性 获取文件的缩略图 示例1.演示如何获取文件的属性,修改文件的属性FileSystem/FileProperties.xaml <Page x:Class="Windows10.FileSystem.FileProperties" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentatio

常用Android代码

这里收集了大家常用的一些Android代码,持续更新中,内容来自自己的平时积累和网络上看到的文章,部分原文地址在最下方.如有错误欢迎指正里面可能会有重复内容,请忽略或者提醒我删除. setBackgroundResource(0) 可以移除 View 的背景色 Resources.getSystem().getDisplayMetrics().density 可以不用 Context 也能获取屏幕密度哦 通过重载 ViewGroup 的 dispatchDraw 可以实现一个简单的蒙版效果. 例

WP集成七牛云存储(原创)

借助:七牛镜像存储 WordPress 插件 https://wordpress.org/plugins/wpjam-qiniu/ 安装本插件1.4.5及以上版本,请先安装并激活WPJAM BASIC插件.如果是使用1.4.5以下版本,WPJAM BASIC插件已包含七牛插件,如果启用WPJAM BASIC插件,请先停用插件. 个人总结: 1.在七牛设置一个公开的空间 2.绑定域名在加速域名这里填写自己的网站的二级域名,比如:cdn.yoursite.com .最后点击创建. 3.去你的网站域名

android开发要避免的那些坑

SparseArray 目前有很多地方从性能优化方说使用SparseArray来替换hashMap,来节省内存,提高性能. Linkify.addLinks() 这个类可以更方便的为文本添加超链接. ThumbnailUtils 这个类主要是用来处理缩略图相关的,有过这方面需求的,应该是用过这个类的. Bitmap.extractAlpha();返回一个新的Bitmap,capture原始图片的alpha值.有的时候我们需要动态的修改一个元素的背景图片又不希望使用多张图片的时候,通过这个方法,结

ci框架操作数据库基本方法

授课过程中如果涉及到文件夹或目录时,可使用缩进进行演示: application |-----libraries |-----xxx_helper.php system |-----libraries |-----url_helper.php --------------------------------------------------------------------------------------------------------------------------------

dedecms文件目录结构

以下是安装dedecms之后的目录机构: "a":  默认HTML文件 "data": 系统缓存或其它可写入数据 "dede": 后台管理目录 "images": 系统默认模板图片 "include": 类库文件 "install": 安装程序可删除 "member": 会员 "plus": 附助程序 "special": 专题

利用机器学习算法寻找网页的缩略图

博客中的文章均为meelo原创,请务必以链接形式注明本文地址 描述一个网页 现在的世界处于一个信息爆炸的时代.微信.微博.新闻网站,每天人们在大海捞针的信息海洋里挑选自己感兴趣的信息.我们是如何判断哪条信息可能会感兴趣?回想一下,你会发现是标题.摘要和缩略图.通过标题.摘要和缩略图,就能够很好地猜测到网页的内容.打开百度搜索引擎,随便搜索一个关键字,每一条搜索结果也正是这三要素构成的. 那么一个自然的问题是搜索引擎是如何找到网页的标题.摘要和缩略图的呢. 寻找网页的标题其实是一个非常简单的问题.

[原创]超强C#图片上传,加水印,自动生成缩略图源代码

<%@ Page Language=“C#“ AutoEventWireup=“true“ %> <%@ Import Namespace=“System“ %> <%@ Import Namespace=“System.IO“ %> <%@ Import Namespace=“System.Net“ %> <%@ Import NameSpace=“System.Web“ %> <%@ Import NameSpace=“Legalsof