我正在开发一个带有html/javascript/ajax客户端的Java webservice。 有没有什么方法可以让用户输入本地excel文件并将其发送给服务器端?用java通过javascript处理excel文件
我知道由于安全问题(C:/ fakepath)无法获取文件的路径,并且通过ajax请求传递excel文件的内容似乎不起作用。
有没有解决我的问题?
我正在开发一个带有html/javascript/ajax客户端的Java webservice。 有没有什么方法可以让用户输入本地excel文件并将其发送给服务器端?用java通过javascript处理excel文件
我知道由于安全问题(C:/ fakepath)无法获取文件的路径,并且通过ajax请求传递excel文件的内容似乎不起作用。
有没有解决我的问题?
其实我找到了解决这个问题的方法,使用新的XMLHttpRequest版本2 。
如需更多信息,请参阅this
您可以使用正常的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代码来处理上传。你可以看看一个例子here。
一旦你在服务器上有excel文件,你可以根据需要进行处理。
我想你知道如何通过<form>
和<input>
标签HTML,如上传文件:
<form method="post" enctype="multipart/form-data" action="upload_script.php">
<input type="file" name="myfile" />
<input type="submit" value="Upload" />
</form>
诀窍异步这样做是在<form>
标签使用和target
属性,例如:
<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可用于回调父框架(即原始窗口)以指示上传是成功还是失败等。
如果有一个 '/' 在'input'标签的结束? ''? – 2012-08-03 21:46:45
@RyanAmos,这取决于HTML的版本(例如,参见http://www.w3.org/TR/html401/interact/forms.html#h-17.4)。但是,现在更好,更平常,所以我添加了它们。 – 2012-08-03 21:54:13