这边的服务端是WebService服务端。就都是Java程序,然后有结合的Hibernate。这些其实不重要。就是想问,本人通过select语句获得到这个路径之后,在本人的服务端这边,也就是一个Java文件,要怎么处理,然后能返回给客户端。
在数据库里存的是路径的这个情况下,能返回给客户端的,就本人现在所知的,有两种情况,第一种是返回一个字符串,字符串的内容是那张图片的完整路径,当然,是客户端能访问到的路径,原因是现在都在本人的计算机里,所以是都能访问的。
第二种情况,就是在服务端获得了这个路径之后,对这个图片进行base64的解码(还算编码),然后再发送给客户端,然后在客户端那边处理。
现在本人想问就是,第一种方法,本人怎么获取到完整的路径,就是客户端也能访问到的路径。然后客户端在获得之后,又要怎么处理呢。就是获得字符串之后要怎么处理呢,。
第二种,就是获取到这个路径,然后肯定得得到绝对路径,再对其进行处理。这边又要怎么处理呢? 最好是来个简单的例子。
然后还想再问一下,假如是要直接将图片存到Oracle数据库里,就是通过放在数据类型为blob的字段里,又要怎么处理呢? 我们只能通过Java程序将图片文件放进去嘛? 那取的时候又要怎么取呢。 麻烦回答下。谢谢大家
在数据库里存的是路径的这个情况下,能返回给客户端的,就本人现在所知的,有两种情况,第一种是返回一个字符串,字符串的内容是那张图片的完整路径,当然,是客户端能访问到的路径,原因是现在都在本人的计算机里,所以是都能访问的。
第二种情况,就是在服务端获得了这个路径之后,对这个图片进行base64的解码(还算编码),然后再发送给客户端,然后在客户端那边处理。
现在本人想问就是,第一种方法,本人怎么获取到完整的路径,就是客户端也能访问到的路径。然后客户端在获得之后,又要怎么处理呢。就是获得字符串之后要怎么处理呢,。
第二种,就是获取到这个路径,然后肯定得得到绝对路径,再对其进行处理。这边又要怎么处理呢? 最好是来个简单的例子。
然后还想再问一下,假如是要直接将图片存到Oracle数据库里,就是通过放在数据类型为blob的字段里,又要怎么处理呢? 我们只能通过Java程序将图片文件放进去嘛? 那取的时候又要怎么取呢。 麻烦回答下。谢谢大家
解决方案
30
1 返回给用户一个http://xxx/xxx.jpg的url,浏览器可以打开。用户可以用浏览器打开,或嵌入你的页面返回给客户
2 jsp处理方法:处理参数,找到图像文件。读取图像文件,设置文件头中的ContentType,ContentLength,然后向输出流里写文件
2 jsp处理方法:处理参数,找到图像文件。读取图像文件,设置文件头中的ContentType,ContentLength,然后向输出流里写文件
resp.setContentType(fileContentType); resp.setContentLength((int) new File(realPath).length()); try { BufferedInputStream bis = new BufferedInputStream(new FileInputStream(realPath)); BufferedOutputStream bos = new BufferedOutputStream(resp.getOutputStream()); byte[] bytes = new byte[4096]; int length = 0; while ((length = bis.read(bytes)) != -1) { bos.write(bytes, 0, length); } bis.close(); bos.flush(); bos.close(); } catch (IOException e) { e.printStackTrace(); } }
30
直接返回前端页面一个url路径,页面<img url=”xxx”/>就可以显示,你服务端所要做的工作就是获得图片服务器的IP地址以及数据库中存的相对路径,拼接好返回给前端页面。
至于你最后说的把图片直接存在数据库,建议你不要试。每个IT人员都在刚开始的时候被深深的教育过,不要这样做,数据库会爆炸,当然本人也没这么做过,所以后果也只是听人说。
至于你最后说的把图片直接存在数据库,建议你不要试。每个IT人员都在刚开始的时候被深深的教育过,不要这样做,数据库会爆炸,当然本人也没这么做过,所以后果也只是听人说。
20
拼接前面的地址就是你图片服务器的IP地址啊,你的图片存在哪个服务器就写哪个地址,假如是直接存在应用服务器上的,那就是应用服务器的ip,这种服务器地址应该是配置好的,或许是配置文件、或许是配置表。 这个是你应该提前知道的,直接就拿过来用的。
20
两个事情:
1 返回url,servlet处理带参数(名称等等……)查询,返回结果,格式可以采用json
2 返回图片:还是servlet实现,get方法,传递图片ID或其他参数。根据参数查找到文件,使用本人前面给出的代码,输出出去,就可以在浏览器中看到图片(容易测试)
3 android客户端,httpclient读取,按http协议读取图片
1 返回url,servlet处理带参数(名称等等……)查询,返回结果,格式可以采用json
2 返回图片:还是servlet实现,get方法,传递图片ID或其他参数。根据参数查找到文件,使用本人前面给出的代码,输出出去,就可以在浏览器中看到图片(容易测试)
3 android客户端,httpclient读取,按http协议读取图片