【问题标题】:Where to save files in tomcattomcat文件保存在哪里
【发布时间】:2013-09-28 17:38:47
【问题描述】:

我有一个上传文件的 java webservice

我想在本地保存文件 - 我成功了

并提供一个 url 以便稍后在网页中显示文件(图像)

但是,我无法返回“C:/path/to/saved/file.jpg”

如何将我的文件路径转换为可在 localhost:8080/webappname/ 寻址的网页中显示的 url?

【问题讨论】:

  • 您的 Web 服务将处理对某个路径的任何请求。您只需在响应中流式传输字节。
  • 如何在网页中显示字节[]?
  • @LenaBru,再次在客户端,您需要转换回图像并显示它。
  • 没有更简单的方法吗?

标签: java image web-services tomcat


【解决方案1】:

好的,下面的代码显示了一个简单的 JSP 来完成这项工作。但请记住,这应该仅用于尝试该方法。您应该在 Servlet 中执行此操作,而不是在 JSP 中:

<%@ page import="java.net.*"%>
<%@ page import="java.io.*"%>
<%@ page import="java.lang.String"%>
<%@ page import="java.net.*"%>
<%@ page import="java.lang.Object"%>
<html>
<body>

<%
response.setContentType("image/jpeg");
response.setHeader("Content-Disposition","attachment; filename=stuff" + ".jpg");

URL url = new URL("http://www.google.com/images/logos/ps_logo2.png");
URLConnection connection = url.openConnection();
InputStream stream = connection.getInputStream();

BufferedOutputStream outs = new BufferedOutputStream(response.getOutputStream());
int len;               
byte[] buf = new byte[1024]; 
while ((len = stream.read(buf)) > 0)   
{  
    outs.write(buf, 0, len);    
}                  
outs.close(); 
%>

</body>
</html>

看,做法是直接将内容写入页面,当然要正确配置headers。

问候

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-22
    • 2014-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-19
    相关资源
    最近更新 更多