Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用java将文件上载到服务器_Java_File_Servlets_Upload - Fatal编程技术网

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

使用java将文件上载到服务器,java,file,servlets,upload,Java,File,Servlets,Upload,我正在编写一个简单的Javaservlet,用于从任何客户端将文件上载到服务器位置。这是我的servlet doPost方法: @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //processRequest(request, respons

我正在编写一个简单的Javaservlet,用于从任何客户端将文件上载到服务器位置。这是我的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();
            }
        }
    }
@覆盖
受保护的void doPost(HttpServletRequest请求、HttpServletResponse响应)
抛出ServletException、IOException{
//processRequest(请求、响应);
response.setContentType(“text/html”);
布尔值isMultiPart=ServletFileUpload.isMultipartContent(请求);
if(isMultiPart){
ServletFileUpload upload=新建ServletFileUpload();
试一试{
FileItemIterator itr=upload.getItemIterator(请求);
while(itr.hasNext()){
FileItemStream item=itr.next();
if(item.isFormField()){
字符串fieldName=item.getFieldName();
InputStream=item.openStream();
byte[]b=新字节[is.available()];
是。改为(b);
字符串值=新字符串(b);
response.getWriter().println(fieldName+“:”+value+“
”; }否则{ //字符串路径=getServletContext().getRealPath(“/”); 字符串路径=; if(FileUpload.processFile(路径,项)){ response.getWriter().println(“文件上传成功”
”; }否则{ response.getWriter().println(“文件上传失败”
”; } } } }捕获(文件上载异常fue){ fue.printStackTrace(); } } }
我现在上传非常大的文件时遇到问题。如果出现网络错误,我需要再次将所有文件重新发送到服务器,我希望准备一个解决方案,用户可以从网络错误发生时停止的位置上载文件。 有人能帮我吗?提前谢谢

有人能帮我吗?

退房


.

你能把你得到的错误写出来吗?我没有得到任何错误。上传并不是从它停止的地方开始的。必须从头开始重新启动。有人能帮我吗?我到处寻找解决办法,但似乎什么也找不到。提前感谢。有没有开源的可能性?那么手动操作吧……参考逻辑,查看最后一条评论,查看问题代码中的错误。上面链接的库是开源的