相关疑难解决方法(0)

getResourceAsStream()vs FileInputStream

我试图在webapp中加载一个文件,FileNotFound当我使用时我得到了一个例外FileInputStream.但是,使用相同的路径,我能够在我这样做时加载文件getResourceAsStream().这两种方法之间有什么区别,为什么一种方法有效而另一方方法无效?

java file-io web-applications fileinputstream

168
推荐指数
5
解决办法
19万
查看次数

建议在servlet应用程序中保存上载文件的方法

在这里读到,无论如何都不应该将文件保存在服务器中,因为它不是可移植的,事务性的并且需要外部参数.但是,鉴于我需要一个针对tomcat(7)的tmp解决方案,并且我对服务器机器有(相对)控制,我想知道:

  • 保存文件的最佳位置是什么?我应该保存/WEB-INF/uploads(建议不要在这里)或某个地方$CATALINA_BASE(见这里)或......?JavaEE 6教程从用户获取路径(:wtf :).注意:该文件不应以任何方式下载.

  • 我应该建立一个配置参数详见这里?我很欣赏一些代码(我宁愿给它一个相对路径 - 所以它至少是Tomcat可移植的) - Part.write()看起来很有希望 - 但显然需要一个绝对的路径

  • 我对这种方法与数据库/ JCR存储库的缺点的阐述感兴趣

不幸的是 ,@ BalusC 的FileServlet专注于下载文件,而他在上传文件时的答案会跳过保存文件的位置.

容易转换为使用DB或JCR实现(如长耳兔)的解决方案将是优选的.

tomcat servlets file-upload servlet-3.0

117
推荐指数
2
解决办法
13万
查看次数

上传的图像仅在刷新页面后可用

上传图片时,文件已成功保存并且路径已成功设置.但是在表单提交后不会立即显示上传的图像.仅当我重新加载页面时,才会显示上传的图像.

我正在保存上传的文件,如下所示:

InputStream is;
try {
    File file = new File("C:\\****\\*****\\Documents\\NetBeansProjects\\EventsCalendary\\web\\resources\\images\\uploadPhoto.png");
    is = event.getFile().getInputstream();
    OutputStream os = new FileOutputStream(file);
    setUserPhoto("\\EventsCalendary\\resources\\images\\"+file.getName());   
    byte buf[] = new byte[1024];
    int len;
    while ((len = is.read(buf)) > 0) {
        os.write(buf, 0, len);
    }
    os.close();
    is.close();

} catch (IOException ex) {
    System.out.println(ex.getStackTrace());
}
Run Code Online (Sandbox Code Playgroud)

为什么上传的图像仅在重新加载页面后显示,我该如何解决?

jsf servlets file-upload refresh java-ee

17
推荐指数
1
解决办法
2万
查看次数

GlassFish alternatedocroot路径应该如何在h:graphicImage中显示图像?

我在index.xhtml文件中显示图像时遇到问题.

我希望我的数据库中的链接指向图像文件,以便一个<h:graphicImage/><img />标记可以显示它.目前仅使用localhost.

我已设法将图像保存到c:\ var\webapp\images \并添加<property name="alternatedocroot1" value="from=/images/* dir=/var/webapp" />到我的glassfish-web.xml并使用:

<h:graphicImage value="#{entity.imageLink}" />
<img alt="#{entity.title}" src="#{entity.imageLink}" />
Run Code Online (Sandbox Code Playgroud)

但我从来没有设法显示任何图像!应该在我的数据库中写什么来显示保存在c:\ var\webapp\images\imageExample.jpg中的imageExample.jpg?我的想法是问题出在我的道路上,但我可能错了.

jsf image glassfish

5
推荐指数
1
解决办法
460
查看次数

如何使用Apache Common fileupload为上传的文件设置"上下文路径"的路径?

我正在使用Apache公共文件上载库和Netbeans 6.8 + Glassfish.我正在尝试将当前上载路径更改为位于servlet的当前上下文路径中,如下所示:WEB-INF/upload

所以我写道:

File uploadedFile = new File("WEB-INF/upload/"+fileName);
session.setAttribute("path",uploadedFile.getAbsolutePath());
item.write(uploadedFile);
Run Code Online (Sandbox Code Playgroud)

但是我注意到库将上传的文件保存到glassfish文件夹中,这是我打印上传文件的绝对路径时得到的:

C:\Program Files\sges-v3\glassfish\domains\domain1\WEB-INF\upload\xx.rar 
Run Code Online (Sandbox Code Playgroud)

我的问题 :

  • 如何强制公共文件上载将上传的文件保存在相对于当前servlet路径的路径中,所以我不需要指定整个路径?这可能吗 ?

java servlets apache-commons-fileupload

4
推荐指数
1
解决办法
2万
查看次数

如何显示位于玻璃鱼文件夹中的图像?

我正在使用JSF和glassfish 4.0.我知道可以直接访问项目资源文件夹下的images目录中的所有图像.我想知道如何显示位于玻璃鱼文件夹中的图像.我在玻璃鱼域下创建了一个图像文件夹,我想在JSF页面中显示这些图像.有人能告诉我怎么做吗?我是新手,所以需要一些帮助.

<?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE glassfish-web-app PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 Servlet 3.0//EN" "http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd">
<glassfish-web-app error-url="">
    <property name="alternatedocroot_1" value="from=/images/* dir=/test/webapp" /> 
    <class-loader delegate="true"/>
    <jsp-config>
        <property name="keepgenerated" value="true">
            <description>
                Keep a copy of the generated servlet class' java code.
            </description>
        </property>
    </jsp-config>
</glassfish-web-app>
Run Code Online (Sandbox Code Playgroud)

JSF页面:

<header>
    <h:graphicImage id="banner" style="width:700px;height: 52px;"  
                    value="/images/header.jpg" />
</header>
Run Code Online (Sandbox Code Playgroud)

jsf jsf-2 glassfish-4

2
推荐指数
1
解决办法
7392
查看次数