0

我正在一个摄影网站上工作,在该网站上可以上传全分辨率照片,但不能显示/访问全分辨率(全分辨率的下载将通过令牌进行。)

我尝试了“restrictTo”设置,但分辨率不必依赖于指定的尺寸。

有没有办法让 myphoto.jpg 默认不显示查询字符串,例如 700x700,但仍然可以通过令牌下载获得完整的分辨率文件?几乎没有查询字符串的图像仍由 Imageprocessor 处理,但具有默认的调整大小规则。

4

2 回答 2

3

我可以通过 myphoto.jpg?width=1400 请求原始宽度为 5000px 的图像,但生成的图像是完整的 5000px 宽度图像,为什么最大宽度为 1400px 的图像没有提供?

如果您要恢复完整图像,则意味着出现问题。(您可能已经用完了连续内存)所以请确保您处于 64 位模式。

maxWidth仅将调整大小参数限制为上限。所以它自己什么也不做。

您可能正在寻找的是ValidatingRequest事件

http://imageprocessor.org/imageprocessor-web/imageprocessingmodule/#events

我会首先设置 ImageProcessor.Webprocessing.config通过更改interceptAllRequests 属性来拦截文件中的所有图像请求。这将确保您捕获任何在没有令牌的情况下查看图像的尝试。

如果您可以取消请求并更改/添加任何查询字符串参数以透明地限制您的大小,而不向最终用户显示查询字符串。

于 2017-07-13T13:14:52.800 回答
0

我会为图像使用查询字符串。

url?width=1400&height=900&mode=crop&anchor=center

我还会使用延迟加载,这样页面加载速度更快,带有小的模糊图像,然后用完整的 res 或查询字符串替换它们,以获得您想要显示的最大尺寸。

我为此写了一个脚本。 http://www.codeshare.co.uk/blog/lazy-loading-images/

现在也在我的网站上,当我上传图片时,我会在保存时自动将其调整为 1080p 分辨率。因此,我可以上传大量图像,而不必担心先调整大小或占用服务器太多空间。

这也是它的代码 http://www.codeshare.co.uk/blog/automatically-resize-your-media-images-in-umbraco/

于 2017-06-30T08:50:26.683 回答