从HttpRequest获取内容

时间:2012-09-12 10:28:52

标签: java javascript ajax servlets

我在jsp中上传一个.war文件,如下所示,

<input type="file" name="file1" id="file1" size="50">

示例:C:\ 1234 \ OnlineBookStore.war

并使用ajax上传表单,如下所示,

var fileValue = document.getElementById("file1").value; 
url=url+"&fileName="+fileValue;
loadPage('downloaddiv', url);

当我在java中获取文件名时,我只是获取文件的名称(OnlineBookStore.war

)没有内容,

File uploadedFile = new File(request.getParameter("fileName"));

如何获取包含内容格式请求的文件?

由于

2 个答案:

答案 0 :(得分:1)

如果要通过XMLHttpRequest读取要上载的文件中的数据,则需要使用File API。

MDN上有Using files from web applications指南。

请注意,这需要支持此前沿功能的浏览器。

通过Ajax上传文件的经典方法是将表单提交给隐藏的iframe。

答案 1 :(得分:0)

也许你应该查看这个问题:How to get the file path from HTML input form in Firefox 3

服务器必须知道完整文件路径几乎没有理由。如果您要上传文件,则需要使用Apache Commons FileUpload之类的相应库并使用传输文件。

<form action="upload-script-url" method="post" enctype="multipart/form-data">
  <input type="file" name="file">
  <input type="submit">
</form>
然后,

Apache Commons FileUpload将接受编码文件并将其转换为可用的格式。

否则,您需要使用JavaScript来获取该路径。