如何访问存储在服务器上的图像

时间:2013-02-25 15:16:53

标签: java java-ee file-upload glassfish-3

我有一个托管在jelastic.com上的Web应用程序。我使用路径/opt/glassfish3/temp将图像上传到服务器的主目录。代码如下:

FileOutputStream fos = new FileOutputStream("/opt/glassfish3/temp/" + fileName);
            fos.write(uploadedFile.getContents());
            fos.flush();
            fos.close();

我正在使用图片标记来显示图片文件,但它给了我一张破碎的图片。 html代码如下:

<img src="/opt/glassfish3/temp/${sessionScope['userdet']['image']}" width="200px" ></img>

1 个答案:

答案 0 :(得分:2)

Jelastic中的主文件夹主要用于存储目的。您最好将文件保存在Web服务器的文件夹中。 因此,请尝试替换您使用的代码:

FileOutputStream fos = new FileOutputStream("/opt/glassfish3/temp/" + fileName)

这一个:

FileOutputStream fos = new FileOutputStream("/opt/glassfish3/glassfish/domains/ domain1/applications/{PUT_HERE_CONTEXT_NAME}/" + fileName);

然后修改html代码:

<img src="/opt/glassfish3/temp/${sessionScope['userdet']['image']}" width="200px" ></img> -> <img src="${sessionScope['userdet']['image']}" width="200px" ></img>