gpt4 book ai didi

java - jsp问题request.getparameter

转载 作者:行者123 更新时间:2023-12-02 08:18:05 26 4
gpt4 key购买 nike

我正在使用

<input type="file" name="file" value="">

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

 String imageUrl = request.getParameter("file");
out.println("logofile" + imageUrl);

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

File file = new File(imageUrl);

它抛出以下异常

java.io.FileNotFoundException: apple-logo.jpg (The system cannot find the file specified) 

我做错了什么?

最佳答案

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

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

<form action="upload" method="post" enctype="multipart/form-data">
<input type="file" name="file" />
<input type="submit" />
</form>

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

另请参阅:

关于java - jsp问题request.getparameter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5974844/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com