0

我有一个上传文件的 java web 服务

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

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

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

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

4

1 回答 1

0

好的,下面的代码显示了一个简单的 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>

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

问候

于 2013-09-29T13:42:25.157 回答