0

我正在开发一个带有 html/javascript/ajax 客户端的 Java 网络服务。用户是否可以通过任何方式在输入时提供本地 excel 文件并将其发送到服务器端?

我知道由于安全问题(C:/fakepath)我无法获取文件的路径,并且通过 ajax 请求传递 excel 文件的内容似乎不起作用。

我的问题有解决方案吗?

4

3 回答 3

0

您可以使用普通的 html 上传机制上传文件:

您的 HTML 将如下所示:

<html>
...
Select a file to upload: <br />
<form action="UploadServlet" method="post"
                    enctype="multipart/form-data">
<input type="file" name="file" size="200" />
<br />
<input type="submit" value="Upload File" />
</form>
...
</body>
</html>

以及相应的jsp代码来处理上传。您可以在此处查看示例。

在服务器上拥有 excel 文件后,您可以随意处理它。

于 2012-08-03T21:38:37.210 回答
0

我想你知道如何通过HTML 中的<form>and标签上传文件,例如:<input>

<form method="post" enctype="multipart/form-data" action="upload_script.php">
<input type="file" name="myfile" />
<input type="submit" value="Upload" />
</form>

异步执行此操作的技巧是在标签中使用<iframe>andtarget属性,例如:<form>

<form method="post" enctype="multipart/form-data" action="upload_script.php" target="myiframe">
<input type="file" name="myfile" />
<input type="submit" value="Upload" />
</form>

<iframe name="myiframe"></iframe>

可以将帧的大小设置为 0x0 像素,因此用户不知道它的存在。提交表单时会iframe加载脚本页面。JavaScript 可以用来回调父框架(即原始窗口)来指示上传是成功还是失败等。

于 2012-08-03T21:44:17.120 回答
0

实际上,我确实用新的 XMLHttpRequest 版本 2 找到了解决这个问题的方法。

有关更多信息,请参阅

于 2012-08-06T13:29:47.940 回答