Image 多个应用程序的图标/图像库

Image 多个应用程序的图标/图像库,image,icons,Image,Icons,我的客户有几个内部web应用程序-我们正在重新制作其中一个。 由于不同的应用程序使用不同的图像和图标,IT经理现在希望我们为此部署一个公共库 我们对如何做到这一点有点不确定。该库应具有编辑角色,以防止对库进行未经授权的更改,同时可通过web(全球公司)访问 我们是否应该在我们已有的共享webapp中托管图像,例如。 汇合,并在运行时将它们链接起来 我们是否应该像#1中那样托管图像,但在编译时链接它们 其他 我们使用的是VS2010和TFS顺便说一句。我也做过类似的工作(提供图标作为服务),使用了

我的客户有几个内部web应用程序-我们正在重新制作其中一个。 由于不同的应用程序使用不同的图像和图标,IT经理现在希望我们为此部署一个公共库

我们对如何做到这一点有点不确定。该库应具有编辑角色,以防止对库进行未经授权的更改,同时可通过web(全球公司)访问

  • 我们是否应该在我们已有的共享webapp中托管图像,例如。 汇合,并在运行时将它们链接起来
  • 我们是否应该像#1中那样托管图像,但在编译时链接它们
  • 其他

  • 我们使用的是VS2010和TFS顺便说一句。

    我也做过类似的工作(提供图标作为服务),使用了以下方法:

    • 一个单独的映像服务,其工作只是提供映像
    • 图像由URL路径标识
    • 其他服务随后生成HTML,其中包含适当的路径作为图像的
      src
      属性
    • 路径可以包括用于引用者筛选的信息,如果这很重要(例如,如果有多个站点希望向其提供图像,那么您将有一个表,该表在图像ID/名称和可以请求它的站点之间具有一对多关系)
    • 路径还可以包括版本控制信息。例如,您可以使用一个类似于“short name”标识图像的方案,“version”允许您管理多个版本
    您可以将图像存储为二进制数据库blob(适用于小图像和基于URL动态生成的图像)或文件系统。但是,一旦开始使用数据库存储引用器之类的操作,动态返回映像(即,您有一些代码可以将映像从任何位置复制到HTTP响应对象中)就很容易了,而不是依赖于静态服务器

    最后,在可能的情况下使用缓存来减少负载(HTTP缓存和应用程序内),但要小心正确处理缓存验证请求,以便在图像更改时,新的图像会快速传播


    PS请记住,如果图像需要包含在安全站点中,您也需要支持SSL。

    您可能需要在运行时链接,因为您正在谈论可能编辑库(除非您设置了某种自动生成过程,以便在进行任何更改后重新生成)。在运行时链接图像应该不会太糟糕,因为您谈论的是web应用程序(通常在运行时加载一些资源)

    根据所讨论的应用程序类型,您可以只拥有一个共享图像文件夹,并为文件夹中的图像提供预定义的命名方案。例如,文件名为“Save20x20.png”、“Open20x20.png”、“Cancel20x20.png”


    然后,您可以制作一个快速定制应用程序,查看图像库中的所有图像及其文件名,并根据需要上载新图像。

    我们的构建服务器将触发此操作。但我不希望每次图标发生更改时都必须部署整个应用程序(也不希望经常发生这种情况),运行时可能是我们的最佳选择:)