使用java将文件上载到服务器

时间:2014-09-22 13:31:47

标签: java file servlets upload

我正在编写一个简单的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();
            }
        }
    }

我上传非常大的文件时遇到问题。如果出现网络错误,我需要再次将所有文件重新发送到服务器,我想准备一个解决方案,用户可以从发生网络错误时停止的位置上传文件。 有人可以帮我弄这个吗?提前谢谢。

有人可以帮我这个吗?

1 个答案:

答案 0 :(得分:1)