Изображение не загружается в сервлет Ajax - PullRequest
0 голосов
/ 21 февраля 2020

Я создаю простую систему загрузки файлов в сервлете ajax. когда я пытался загрузить файл, файл не загружен, что я пытался до сих пор, я прикрепил ниже. JQuery Я думаю, что все в порядке. я понятия не имею о сервлете, я начинающий сервлет. Мне нужно загрузить файл. Я вношу это в последние 2 дня, но проблема еще есть. код сервлета правильный, что я написал. любая ошибка

Форма

<div align="left">
                <label>Photo</label>
                <input name="logo" type="file" id="logo" name="logo" class="dropify_" data-default-file="">
            </div>
            <div class="row">
                <div id="logo_" class="col-md-3">
                </div>
            </div>

JQuery

<script>
        var dvE = $('#logo').dropify({
        });
        dvE = dvE.data('dropify')


        function addEmployee()
        {
            var form = $('#frmemployee')[0];
            var formdata = new FormData(form);
            $.ajax({

                type : 'POST',
                url : 'upload',
                data : formdata,

                contentType: false,
                processData: false,

                success: function(data)
                {
                     alert("success");
                    $('#frmemployee')[0].reset();

                }

            });
        }

    </script>

Сервлет

      @MultipartConfig(maxFileSize = 1024 * 1024 * 2)
@WebServlet("/upload")
public class upload extends HttpServlet {


    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException 
    {


        PrintWriter out = response.getWriter();

                response.setContentType("text/html");


        // Getting File data
        Part part = request.getPart("logo");
        out.println(part);    
        // Getting Application Path
        String appPath = request.getServletContext().getRealPath("");

        // File path where all files will be stored
        String imagePath = appPath + "images";

        // Creates the file directory if it does not exists
        File fileDir = new File(imagePath);
        if (!fileDir.exists()) {
            fileDir.mkdirs();
        }

        //Get Image Name
        String imageName = part.getSubmittedFileName();

        if(validateImage(imageName)){
            try{
                part.write(imagePath + File.separator + imageName);
                out.print("<img src=\"images/"+imageName+"\" >");
            }catch (Exception ex) {
                out.print("<h1>"+ex.getMessage()+"</h1>");
            }
        }else{
            out.print("<h1>Invalid Image Format</h1>");
        }
    }

    //Validates uploaded file is Image or not
    private boolean validateImage(String imageName){
        String fileExt = imageName.substring(imageName.length()-3);
        if("jpg".equals(fileExt) || "png".equals(fileExt) || "gif".equals(fileExt))
            return true;

        return false;
    }

    }
...