我创建了两个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程序?请指教。
答案 0 :(得分:3)
你做不到。
首先,request.getParameter()
将始终在null
次请求中返回multipart/form-data
。您需要解析请求正文。如何执行此操作会在previous question。
其次,webbrowser应该只沿文件内容发送文件名称。 MSIE是唯一一个(错误地)沿着名称发送完整路径的webbrowser。你不应该依赖它。您也应该对文件路径不感兴趣。你能用它做什么?使用java.io.File
左右打开文件?当webbrowser和webserver在物理上不同的机器上运行时,您将如何使用它?