将文件路径从jsp发送到Java

时间:2015-08-05 07:15:50

标签: javascript java jsp

我想将一个excel文件上传到html / jsp页面并将文件路径发送到我的Java控制器。这是我的代码片段: -

jsp:

<script>
function getPath()
{
    document.getElementById("actualPath").value=document.getElementById("excelFile").value;
    console.log(document.getElementById("actualPath").value);
    return false;
    }


</script>
</head>
<body>

<form action="<%=request.getContextPath()%>/Controller?action=uploadExcel" onsubmit="return getPath()" method="POST">
<input type="file" name="excelFile" id="excelFile">
<input type="hidden" name="actualPath" id="actualPath" value="">
<input type="submit">

</form>

Java代码: -

private void getExcel(HttpServletRequest request,
                    HttpServletResponse response) throws BiffException, IOException, JSONException, ServletException {



 System.out.println(request.getParameter("excelFile"));
 String FilePath = request.getParameter("actualPath");
 Workbook workbook = Workbook.getWorkbook(new File(FilePath));
 Sheet sh = workbook.getSheet("Sheet1");
 int totalNoOfRows = sh.getRows();
 Map<String,String> map=new LinkedHashMap<String, String>();
 int totalNoOfCols = sh.getColumns();

我将actualPath值变为C:\ fakepath \ Book1.xls,这是显而易见的,因为它不允许获取文件路径。我有什么方法可以解决这个问题。或者直接将文件发送到Java?提前致谢

2 个答案:

答案 0 :(得分:1)

由于我没有足够的声誉发表评论,我将其作为答案发布。以下链接将为您提供有关将文件上载到JSP / Servlet的详细信息。

How to upload files to server using JSP/Servlet?

答案 1 :(得分:0)

它显示了你的假冒路径&#39;仅仅是因为浏览器&#39;安全规则。我试图找到一条完整路径的方法,但我没有幸运。我在JSP中使用Ajax(仅限onClick - 不输入提交)&amp;今天我在link找到了我需要的东西。希望它有所帮助;)