我正在编写一个简单的java servlet,用于将文件从任何客户端上传到服务器位置。这是我的servlet doPost方法:
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//processRequest(request, response);
response.setContentType("text/html");
boolean isMultiPart = ServletFileUpload.isMultipartContent(request);
if(isMultiPart){
ServletFileUpload upload = new ServletFileUpload();
try{
FileItemIterator itr = upload.getItemIterator(request);
while(itr.hasNext()){
FileItemStream item = itr.next();
if(item.isFormField()){
String fieldName = item.getFieldName();
InputStream is = item.openStream();
byte[] b = new byte[is.available()];
is.read(b);
String value = new String(b);
response.getWriter().println(fieldName+":"+value+"</br>");
}else{
//String path = getServletContext().getRealPath("/");
String path = <server path>;
if(FileUpload.processFile(path, item) ){
response.getWriter().println("file uploaded successfully</br>");
}else{
response.getWriter().println("file uploading failed</br>");
}
}
}
}catch(FileUploadException fue){
fue.printStackTrace();
}
}
}
我上传非常大的文件时遇到问题。如果出现网络错误,我需要再次将所有文件重新发送到服务器,我想准备一个解决方案,用户可以从发生网络错误时停止的位置上传文件。 有人可以帮我弄这个吗?提前谢谢。
有人可以帮我这个吗?
答案 0 :(得分:1)