【问题标题】:Image in Java web serviceJava Web 服务中的图像
【发布时间】:2014-04-14 17:18:35
【问题描述】:

我正在开发 java Restful web 服务中的服务器部分(使用 apache tomcat),我计划将它部署在云 web 服务上。 我希望我的网络服务向客户端(移动设备或浏览器)提供图像,用户可以稍后动态上传或替换图像。

问题 1: 我应该将图像存储在服务器的哪里? 选项 - 1].将图像保存在数据库中(作为blob) 2].服务器本地文件系统。

问题 2: 如何处理客户端请求 选项 - 1].我可以在本地检索它并将图像作为响应。 2].我可以给出图片的Public URL作为响应,客户端可以从这个url下载。

谁能建议我应该选择什么选项来优化服务器端处理和存储成本,以及安全性。

【问题讨论】:

    标签: java image web-services amazon-web-services imagesource


    【解决方案1】:

    答案 1:虽然它是一些争论的主题,但通常的答案是:本地文件系统。您可以在数据库中添加一个包含文件位置和一些元数据的条目,但实际的二进制 blob 应该在文件系统上。

    答案 2:如果您只是传递一个公共 URL,这假设您有一个公共 http 服务器,可以访问和提供请求的图像。如果是这种情况,我会考虑选择这个,因为 HTTP 服务器可以优化开箱即用(例如缓存),而且它可以提供重用(例如使用公共 URL 将图像嵌入其他地方)。

    【讨论】:

    • 谢谢。我对公共http服务器知之甚少。由于图片可以是个人照片,所以我觉得使用 URL 会导致安全问题,对吗?
    • 如果它们是个人照片,您仍然可以使用 URL 方法,但我建议保护 HTTP 端点。这当然最小化了我的第二个答案的可重用性论点。但是,您可以让用户决定他们希望它是私有的还是公开的(默认私有)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-08
    • 1970-01-01
    • 2011-04-24
    • 1970-01-01
    相关资源
    最近更新 更多