Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/364.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.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 问题上传图像servlet-Eclipse,tomcat服务器_Java_Image_Tomcat_Servlets_Upload - Fatal编程技术网

Java 问题上传图像servlet-Eclipse,tomcat服务器

Java 问题上传图像servlet-Eclipse,tomcat服务器,java,image,tomcat,servlets,upload,Java,Image,Tomcat,Servlets,Upload,我有一个小问题,然后从servlet上传一个文件。 上载成功,但我必须手动刷新图像目录(在WebContent中),以便在网站上查看上载的图像 这里是我选择文件的表格: <form action="SRVLTInsererImage" method="POST" enctype="multipart/form-data"> <div> <div> <label>Choisir

我有一个小问题,然后从servlet上传一个文件。 上载成功,但我必须手动刷新图像目录(在WebContent中),以便在网站上查看上载的图像

这里是我选择文件的表格:

<form action="SRVLTInsererImage" method="POST" enctype="multipart/form-data">
        <div>
            <div>
                <label>Choisir une catégorie</label>
                <select name="id_categorie">
                    <c:forEach var="item" items="${categories}">
                        <option value="${item.idCategorie}">${item.nomCategorie}</option>
                    </c:forEach>
                </select>
            </div>

            <div>
                <label>Titre</label>
                <input type="text" name="nom_image" />
            </div>

            <div>
                <label>Description</label>
                <textarea name="desc_image"></textarea>
            </div>
        </div>

        <div>

            <input type="file" name="file" size="1024" multiple="multiple"/>
            <input type="submit" name="insertimage" value="Upload Fichier" />
        </div>
    </form>
因此,然后我提交您之前看到的表单,我将在index.jsp上重定向,如果我单击“showAllImage”按钮,我将看到较旧的图像和一个小图标,那么img html标记的路径不存在。如果我手动刷新图像所在的目录,并刷新网站,我将看到所有图像,包括新上传的图像

为什么会有这个问题?我该怎么解决呢


谢谢

我解决了这个问题,tomcat正在克隆这个目录,这个目录将是动态的,il链接到这个目录,它就可以工作了。如果有人想要更多的解释,只问我

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {      
    String idcategorie = "null";
    String nomImage = "Pas de titre";
    String descImage = "Pas de description";
    String urlImage = "nullurl";

    isMultipart = ServletFileUpload.isMultipartContent(request);
    response.setContentType("text/html");
    java.io.PrintWriter out = response.getWriter( );
    if( !isMultipart ){
        //redirection vers jsp de "pas d'upload"
    }
    DiskFileItemFactory factory = new DiskFileItemFactory();
    factory.setSizeThreshold(maxMemSize);
    factory.setRepository(new File("c:\\temp"));

    ServletFileUpload upload = new ServletFileUpload(factory);
    upload.setSizeMax( maxFileSize );

    try{ 
        List fileItems = upload.parseRequest(request);

        Iterator i = fileItems.iterator();


        while ( i.hasNext () ) 
        {
            FileItem fi = (FileItem)i.next();
            if ( !fi.isFormField () )   
            {
                // Get the uploaded file parameters
                String fieldName = fi.getFieldName();
                String fileName = fi.getName();
                String contentType = fi.getContentType();
                boolean isInMemory = fi.isInMemory();
                long sizeInBytes = fi.getSize();
                // Write the file
                if( fileName.lastIndexOf("\\") >= 0 ){
                    file = new File( filePath + fileName.substring( fileName.lastIndexOf("\\"))) ;
                }else{
                    file = new File( filePath + fileName.substring(fileName.lastIndexOf("\\")+1)) ;
                }
                urlImage = file.getName();
                fi.write( file ) ;
            }

            else 
            {
                String fieldname = fi.getFieldName();
                String fieldvalue = fi.getString();

                if (fieldname.equals("id_categorie"))
                    idcategorie = fieldvalue;
                else if (fieldname.equals("nom_image"))
                    nomImage = fieldvalue;
                else if (fieldname.equals("desc_image"))
                    descImage = fieldvalue;                 
            }               
        }

        //here i adding the URLimage with hibernate in the database

        RequestDispatcher req = request.getRequestDispatcher("/index.jsp");
        req.forward(request, response);

    }catch(Exception ex) {
        System.out.println(ex);
    }
}