java - 将上传文件的路径传递给Java程序

标签 java jsp file-upload

我创建了两个 JSP 程序如下。

第一个:Addmulti.jsp

<html>
<head><title>Upload Excel File</title></head></p> <p><body>
<form action="Test2.jsp" method="post" enctype="multipart/form-data" name="form1" id="form1">
<br><br>
Upload File:
<input name="file" type="file" id="file"><br><br>
<input type="submit" name="Submit" value="Submit"/><br><br>
<input type="reset" name="Reset" value="Reset"/>
</form>
</body>
</html>

第二个:Test2.jsp

<%@ page import="myfirst.*" %>
<%

String filevar=request.getParameter("file");
String result="";
myfirst.SearchLink z=new myfirst.SearchLink();
result=z.addmultiple(filevar);
System.out.println(result);
out.println(result);
%>

SearchLink 是一个 java 程序,包含如下方法,

public String addmultiple(String file)throws SQLException{
        return file;
}

我想将上面提到的第一个jsp程序中选择的文件的完整路径传递给名为addmultiple(String)的java方法。相反,一旦调用 Test2.jsp 程序,null 就会作为输出打印在浏览器中。

在上述代码中,实际上将什么传递给带有参数 String 的方法?

如何将第一个jsp代码中选择的文件的完整路径发送给java程序?请指教。

最佳答案

你不能。

首先,request.getParameter() 将始终在 multipart/form-data 请求中返回 null。您需要解析请求正文。如何做到这一点在您的 previous question 中得到了回答和评论。 .

其次,网络浏览器应该只发送文件 name 和文件内容。 MSIE 是唯一(错误地)发送名称中的完整路径的网络浏览器。你不应该依赖那个。您也不应该对文件路径感兴趣。你能用它做什么?使用 java.io.File 打开文件?当网络浏览器和网络服务器在物理上不同的机器上运行时,您如何让它工作?

另见:

关于java - 将上传文件的路径传递给Java程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3653704/

相关文章:

java - 包装对象的实际开销是多少?

java - 从链表中删除节点

javascript - 相同的js highcharts显示不一样

javascript - 创建一个链接来下载文件

java - 将 Olson 时区 ID 转换为 GWT 中的 TimeZoneConstant(客户端)

java - Java 泛型和加法运算的问题

java - 如何获取文件夹的内容并将其传递到 Java 服务器页面

javascript - 从 jsp onchange 下拉值调用 Javascript

django - 如何将上传文件保存到另一台服务器

node.js - 在 NodeJS 上同时接收相同的名称输入和多部分/表单数据输入作为数组和 FileAttachment