2012-08-03 46 views
0

我正在开发一个带有html/javascript/ajax客户端的Java webservice。 有没有什么方法可以让用户输入本地excel文件并将其发送给服务器端?用java通过javascript处理excel文件

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

有没有解决我的问题?

回答

0

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

如需更多信息,请参阅this

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代码来处理上传。你可以看看一个例子here

一旦你在服务器上有excel文件,你可以根据需要进行处理。

0

我想你知道如何通过<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可用于回调父框架(即原始窗口)以指示上传是成功还是失败等。

+0

如果有一个 '/' 在'input'标签的结束? ''? – 2012-08-03 21:46:45

+0

@RyanAmos,这取决于HTML的版本(例如,参见http://www.w3.org/TR/html401/interact/forms.html#h-17.4)。但是,现在更好,更平常,所以我添加了它们。 – 2012-08-03 21:54:13