首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jsp problem request.getparameter

jsp problem request.getparameter
EN

Stack Overflow用户
提问于 2011-05-12 15:41:58
回答 2查看 8.2K关注 0票数 0

我正在使用

代码语言:javascript
复制
<input type="file" name="file" value="">

浏览要上传的图像文件。但是当我使用

代码语言:javascript
复制
 String imageUrl = request.getParameter("file");
 out.println("logofile" + imageUrl);

在操作页面上,它只显示图像名称,而不显示完整的绝对路径。当我尝试使用

代码语言:javascript
复制
File file = new File(imageUrl);

它抛出以下异常

代码语言:javascript
复制
java.io.FileNotFoundException: apple-logo.jpg (The system cannot find the file specified) 

我做错了什么?

EN

回答 2

Stack Overflow用户

发布于 2011-05-12 20:08:56

问题是,您试图通过get浏览器发送的名称从get服务器的本地磁盘文件系统中获取文件内容。这是完全错误的。只有Internet Explorer才会显示它发送完整路径而不仅仅是名称的错误。然而,完整路径对您来说是无用的,因为does服务器通常无法访问客户端的本地磁盘文件系统。

相反,您应该从get浏览器发送的请求正文中获取真正的文件内容。为此,您需要确保您的HTML表单具有method="post"enctype="multipart/form-data"属性。

代码语言:javascript
复制
<form action="upload" method="post" enctype="multipart/form-data">
    <input type="file" name="file" />
    <input type="submit" />
</form>

然后,在侦听/upload的URL模式的servlet的doPost()方法中,使用HttpServletRequest#getParts(),或者当您仍然使用Servlet2.5或更早的版本时,使用Apache Commons FileUpload来处理多部分/表单数据请求的各个部分。它将在通常的请求参数中包含上传的文件。

另请参阅:

票数 3
EN

Stack Overflow用户

发布于 2011-05-12 15:49:02

你可以通过用户检查here到用户Apache Commons文件上传。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5974844

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档