使用java servlet将{xlsx文件上载到特定路径

时间:2016-03-31 07:15:19

标签: jsp servlets file-upload

我是servlet编程的新手,我需要使用servlet开发一个.WAR API,它只会将xlsx文件上传到服务器中的特定路径(此API将由WebFocus(一种用于报告的编程语言)使用)

特定路径将位于html <form>

的隐藏字段中

这是我的HTML

<html>  
<body>  
<form action="UploadServlet" method="Post" enctype="multipart/form-data">  
Select File:<input type="file" name="fname"/><br/>

  <input type="hidden" name="path" value="G:/newFolder" />
<input type="submit" value="upload"/>  

</form>  
</body>  
</html>

现在应该在我的UploadServlet.java文件中写什么才能将xlsx文件上传到路径隐藏文件中定义的路径

目前在我的UploadServlet.java中,我使用了MultipartRequest,它正确地将文件上传到目的地,但我希望distenation是<form>

的路径隐藏字段的值
import java.io.*;  
import javax.servlet.ServletException;  
import javax.servlet.http.*;  
import com.oreilly.servlet.MultipartRequest;  

public class UploadServlet extends HttpServlet {  

public void doPost(HttpServletRequest request, HttpServletResponse response)  
    throws ServletException, IOException {  

response.setContentType("text/html");  
PrintWriter out = response.getWriter();  

MultipartRequest m=new MultipartRequest(request,"g:/newFolder");  
out.print("successfully uploaded");  
}  
} 

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

只需使用提交的变量的值替换java代码中的路径:

String uploadPath = request.getParameter("path");
MultipartRequest m = new MultipartRequest(request, uploadPath);

现在,您的MultipartRequest会使用隐藏字段中的值进行初始化。

请注意MultipartRequest limits the upload size to 1 megabyte

的构造函数