1

到目前为止,我所有的缩略图都是 150x150。我想支持不同的缩略图大小,以处理不同的 Android/iPhone 型号。

我一直在考虑这种支持多种尺寸的方式。始终使用方形缩略图使事情变得更简单。

获取 75x75 缩略图

GET http://example.com/gallery?resolution=75
...
{
    "id": 1001,
    "thumbnail": "http://lh5.ggpht.com/EEIl3_hedJSAT4RscoceShtWy3DE4WGKXXNp4rusI-kpzWfDIbzrWx1KVywf9YqGI-elD_k4xg8bUemeRTtLgtAPOlVc0kpw=s75"
}

获取 150x150 的缩略图

GET http://example.com/gallery?resolution=150
...
{
    "id": 1001,
    "thumbnail": "http://lh5.ggpht.com/EEIl3_hedJSAT4RscoceShtWy3DE4WGKXXNp4rusI-kpzWfDIbzrWx1KVywf9YqGI-elD_k4xg8bUemeRTtLgtAPOlVc0kpw=s150"
}

我见过很多不支持自定义尺寸的 api,例如 flickr api 支持小、中、大和原始尺寸。

这个api可以以某种方式改进吗?

4

1 回答 1

1

好吧,您可以拥有固定值,例如 Flickr API(小、中、大和原始)。您可以做的是预渲染和存储它们,这意味着您可以直接从磁盘或缓存中获取它们,而不是即时渲染它们。然后,您的请求 URL 可能类似于:

GET http://example.com/gallery?resolution=small

但是,如果您想提供最大的灵活性,您应该继续您现在使用 API 的方式,并允许 API 用户指定正方形大小。你应该有一个固定的最大值来阻止滥用。这方面的一个例子是Gravatar API,它具有固定的最大值 512 像素,并且可以使用s=URL 中的参数指定大小。

最后,这取决于您的成本/收益比。维护一个灵活大小的 API 而不是预先渲染的固定大小的 API 是否会更加困难,并且动态渲染是否需要在服务器/RAM/带宽等方面进行更多投资?

于 2011-10-02T13:32:36.610 回答