我怎样才能设置自定义ImageResizer网址吗?(How can I set up custom

2019-10-16 22:19发布

我刚开始接触ImageResizer和我卡在什么似乎是完全基本问题:

  1. 我有我用把图片放到一个目录,这不是通过HTTP直接访问的上传。 (如果我只是把在,比如说,一个图像/images/myimage.jpg ,那么任何人都可以通过只要求它,访问它,而我想限制通过缩略图,水印等访问)。 所以,我希望把它在/offlimits/myimage.jpg ,但能够在服务于它/public/images/myimage.jpg
  2. 我真的不希望转储在相同的所有图像offlimits文件夹,因为把大量的文件一个文件夹中使Windows不满。 但我不希望任何揭露该子目录结构的细节,所以我在哪里把面向公众的网址和实际图像位置之间的映射?
  3. 最普遍的,我不一定要的图像扩展可言,所以我想说/public/image_id?width=100... ,并有这个地图/offlimits/sub1/sub2/sub3/image_id.jpg

任何人都可以建议有关如何设置呢?

Answer 1:

三个部分的问题,一般在SO在这里皱了皱眉头,但我无论如何咬:)

  1. 如果您是根据认证允许访问图像,那么你需要使用ASP.NET的URL授权功能。 ImageResizer支持URL授权规则。 如果你只是不想可用的源文件,并想迫使他们调整或水印, 阅读如何实现这样的任意规则的文档 。
  2. 您可以改写图像路径到你的心脏的内容与Config.Current.Rewrite ,它的工作原理就像PostRewrite事件前面提到的 。 只要记住你必须在你的脑袋,以保持它的所有直后。
  3. 图片扩展是好东西。 不要打他们。 他们让服务器找出正确的MIME类型来发送和帮助犯错误的浏览器从相关的错误中恢复过来。 它们可以防止在多种平台问题,并提出另存为对话框的工作。 他们显著提高服务器效率为好,因为处理逻辑并没有等待,只要。 这是因为IIS / ASP.NET模块系统的设计尤为重要。


文章来源: How can I set up custom ImageResizer urls?