Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javaweb服务中的图像_Java_Image_Web Services_Amazon Web Services_Imagesource - Fatal编程技术网

javaweb服务中的图像

javaweb服务中的图像,java,image,web-services,amazon-web-services,imagesource,Java,Image,Web Services,Amazon Web Services,Imagesource,我正在java Restful web服务(使用ApacheTomcat)中开发服务器部分,我计划将其部署在云web服务上。 我希望我的web服务向客户端(移动设备或浏览器)提供图像,用户可以稍后动态上载或替换图像 问题1: 我应该将图像存储在服务器的何处? 选择权-- 1] 。将图像保存在数据库中(作为blob) 2] .服务器的本地文件系统 问题2: 如何处理客户端请求 选择权-- 1] 。我可以在本地检索它并将图像作为响应。 2] 。我可以给出图像的公共URL作为响应,客户端可以从该URL

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

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

问题2: 如何处理客户端请求 选择权-- 1] 。我可以在本地检索它并将图像作为响应。 2] 。我可以给出图像的公共URL作为响应,客户端可以从该URL下载它


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

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


回答2:如果您只是传递一个公共URL,这就假定您有一个公共http服务器,可以访问并提供请求的图像。如果是这种情况,我会考虑选择这一点,因为HTTP服务器可以优化框外(例如缓存),再加上它可以提供重用(例如,使用公共URL嵌入其他地方的图像)。我对公共http服务器知之甚少。由于图像可以是个人照片,我觉得使用URL会导致安全问题,对吗?如果它们是个人照片,您仍然可以使用URL方法,但我建议保护HTTP端点。这当然最小化了我第二个答案中的可重用性论点。但是,您可以让用户决定是私有还是公共(默认私有)。