如何在JSP中获取上传文件的完整路径?

4
在我的jsp页面中,使用文件上传并将文件传递给Java页面以复制到特定文件夹。我想要复制文件的完整路径,但我只得到带有扩展名的文件名。
扫描文件:ABC.pdf
它只显示:ABC.pdf
我想要显示:c:/abc.pdf

您可以在此处查看:http://corejavaexample.blogspot.in/2013/04/how-to-upload-file-in-jsp.html - Sitansu
3个回答

3

http://corejavaexample.blogspot.in/2013/04/how-to-upload-file-in-jsp.html - Sitansu

1
JSP是生成客户端HTML代码(通常称为视图)的代码,而Servlet是服务器代码。实际上,它们将在不同的机器上,那么完整路径有什么用呢?在提交表单时,文件内容应该被POST到Servlet中。您的JSP应该类似于:
<form action="UploadServlet" method="post"
                        enctype="multipart/form-data">
<input type="file" name="file" size="50" />
<br />
<input type="submit" value="Upload File" />
</form>

当然,你也有其他的输入字段。
查看此链接: 如何使用JSP/Servlet上传文件到服务器?

也许展示一些代码,我可以更具体地说明。应该使用JSP在浏览器上向用户展示视图。当数据被POST(提交/文件上传)时,它应该被发送到运行在Java应用服务器(如Tomcat)中的servlet。用户的浏览器(可能有数百个用户)将在与servlet不同的机器上运行。 - Scary Wombat
JSP不是客户端代码,JavaScript、HTML和CSS才是。 - Alexandre Lavoie
我已经编辑了我的答案,试图(同时保持简单)解释JSP与Servlet代码使用的区别。 - Scary Wombat
@Java1 我想上传它。如果我有路径..我将其作为字符串传递给servlet,然后轻松上传它.. 如果您知道如何从jsp向servlet传递文件? - sathya
@AlexandreLavoie,我不认为我曾经说过JSP是客户端代码。 我说它产生HTML代码。 - Scary Wombat

0

本地文件路径在服务器端是无用的。它只会对黑客有用。这就是为什么浏览器不发送它的原因。这是一项安全措施。你应该庆幸它在那里。我很惊讶现有的答案中没有指出这一点。

在服务器端,您决定在哪里保存文件。显然,您不希望用户做出这个决定。给他们在您的服务器上决定文件保存位置的能力将使他们能够覆盖您的系统文件。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接