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

时间:2010-09-06 18:51:27

标签: 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程序?请指教。

1 个答案:

答案 0 :(得分:3)

你做不到。

首先,request.getParameter()将始终在null次请求中返回multipart/form-data。您需要解析请求正文。如何执行此操作会在previous question

中得到解答和评论

其次,webbrowser应该只沿文件内容发送文件名称。 MSIE是唯一一个(错误地)沿着名称发送完整路径的webbrowser。你不应该依赖它。您也应该对文件路径不感兴趣。你能用它做什么?使用java.io.File左右打开文件?当webbrowser和webserver在物理上不同的机器上运行时,您将如何使用它?

另见: