【发布时间】:2016-09-19 20:30:14
【问题描述】:
我有这个:
public void doPost(HttpServletRequest request,
HttpServletResponse response) throws IOException, ServletException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
try{
sentfilename = printNames(request);
MultipartRequest multipartRequest = new MultipartRequest(request, ImageDirecoty, 1024*1024*5);
} catch(IOException e){
response.sendError(HttpServletResponse.SC_CONFLICT, "File limit has exceeded or it wasn't an actual image");
System.out.println(e.getMessage());
return;
}
}
public String printNames(HttpServletRequest request) throws IOException, ServletException{
for(Part part : request.getParts()){
Collection<String> headers = part.getHeaders("content-disposition");
if (headers == null)
continue;
for(String header : headers){
String filename = header.substring(header.indexOf("filename=") + 10 , header.length());
String result = filename.replace("\"", "");
return result;
}
}
return null;
}
基本上我是从客户端上传一个简单的文件,现在我需要从可以通过printNames函数成功获取的请求数据中获取文件名并将请求数据写入我的filepath,现在问题是正如您在我的doPost() try 中看到的那样,如果我首先输入printNames 函数,我可以获得文件名,但它不会写入数据,如果我首先输入MultipartRequest,我可以获得文件上传,但我没有得到文件名。
希望不要造成任何混乱并提前感谢
【问题讨论】: