Получение доступа запрещено после успешной загрузки нескольких файлов - PullRequest
0 голосов
/ 26 ноября 2018

Получение доступа запрещено после успешной загрузки нескольких файлов.

Это ошибка, которую я получаю при загрузке нескольких файлов:

naser.jpg naseer.new.pdf naseer.new.docx errorjava.io.IOException: java.io.FileNotFoundException: d: \ srinu (доступ запрещен)

Где naser.jpg naseer.new.pdf naseer.new.docx - это имя файла, который я имеюзагружено.

Я не могу найти ошибку, может кто-нибудь помочь мне найти ошибку, пожалуйста.

Eduvationservletimp

import java.io.File;

import java.io.IOException;

import java.io.PrintWriter;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import javax.servlet.ServletException;

import javax.servlet.annotation.MultipartConfig;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import javax.servlet.http.Part;

@WebServlet(urlPatterns = {"/UploadServlet"})

@MultipartConfig(fileSizeThreshold = 1024 * 1024 * 10, maxFileSize = 1024 * 1024 * 50, maxRequestSize = 1024 * 1024 * 100)

public class EducationServletimp extends HttpServlet {

    private static final String education = null;

// this if directory name where the file will be uploaded and saved



// this is the method which is created by system it self

protected void processRequest(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

response.setContentType("text/html;charset=UTF-8");

try (PrintWriter out = response.getWriter()) {

// this tyr is created by me for the connection of database

try {

// this is the path provide by me to save the image

  //     HttpSession session=request.getSession(false);
  //  String uname=(String)session.getAttribute("uname");


    // HttpSession session=request.getSession(false);
  // String uname=(String)session.getAttribute("uname");

String savePath = "d:/srinu";
/*in place of C: you can place a path wher you need to save the image*/

// this comment will picup the image file and have convert it into file type

File fileSaveDir = new File(savePath);

if (!fileSaveDir.exists()) {

fileSaveDir.mkdirs();

}

// this two comment will take the name and image form web page

String sscboard =request.getParameter("sscboard");
String schoolname =request.getParameter("schoolname");
String percentagein =request.getParameter("percentagein");
String percentage =request.getParameter("percentage");
String passedout =request.getParameter("passedout");
String ssccountry =request.getParameter("ssccountry");
String sscstate =request.getParameter("sscstate");
String sscdistrict =request.getParameter("sscdistrict"); 
Part sscmemo = request.getPart("sscmemo");


String interboard =request.getParameter("interboard");
String intercollege =request.getParameter("intercollege");
String interpercentage =request.getParameter("interpercentage");
String interbranch =request.getParameter("interbranch");
String interpassedout =request.getParameter("interpassedout");
String intercountry =request.getParameter("intercountry");
String interstate =request.getParameter("interstate");
String interdistrict =request.getParameter("interdistrict"); 
Part intermemo = request.getPart("intermemo");




String degree =request.getParameter("degree");
String university =request.getParameter("university");
String collegename =request.getParameter("collegename");
String branch =request.getParameter("branch");
String degreepassedout =request.getParameter("degreepassedout");
String degreepercentage =request.getParameter("degreepercentage");
String degreecountry =request.getParameter("degreecountry");
String degreestate =request.getParameter("degreestate");
String degreedistrict =request.getParameter("degreedistrict"); 
Part cmm = request.getPart("cmm");



String pguniversity =request.getParameter("pguniversity");
String pgcollege =request.getParameter("pgcollege");
String pgbranch =request.getParameter("pgbranch");
String pgpassedout =request.getParameter("pgpassedout");
String pgpercentage =request.getParameter("pgpercentage");
String pgcountry =request.getParameter("pgcountry");
String pgstate =request.getParameter("pgstate");
String pgdistrict =request.getParameter("pgdistrict"); 
Part pgmemo = request.getPart("pgmemo");

// this comment will extract the file name of image

String fileName = extractFileName(sscmemo);
String fileName1 = extractFileName(intermemo);
String fileName2 = extractFileName(cmm);
String fileName3 = extractFileName(pgmemo);




// this will print the image name and user provide name

out.println(fileName);
out.println(fileName1);
out.println(fileName2);
out.println(fileName3);




//out.println("\n" + name);

/*if you may have more than one files with same name then you can calculate

some random characters and append that characters in fileName so that it will

make your each image name identical.*/

sscmemo.write(savePath + File.separator + fileName);
intermemo.write(savePath + File.separator + fileName1);
cmm.write(savePath + File.separator + fileName2);
pgmemo.write(savePath + File.separator + fileName3);


/*

You need this loop if you submitted more than one file

for (Part part : request.getParts()) {

String fileName = extractFileName(part);

part.write(savePath + File.separator + fileName);

}*/

// connectio to database

Class.forName("com.mysql.jdbc.Driver");

Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/verification","root","toor");

// query to insert name and image name

String query = "INSERT INTO education(sscmemo,intermemo,cmm,pgmemo) values(?,?,?,?)";

PreparedStatement pst;

pst = con.prepareStatement(query);

pst.setString(1, sscboard);
pst.setString(2, schoolname);
pst.setString(3, percentagein);
pst.setString(4, percentage);
pst.setString(5, passedout);
pst.setString(6, ssccountry);
pst.setString(7, sscstate);
pst.setString(8, sscdistrict); 
String filePath = savePath + File.separator + fileName;
pst.setString(1, filePath);



pst.setString(10, interboard);
pst.setString(11, intercollege);
pst.setString(12, interpercentage);
pst.setString(13, interbranch);
pst.setString(14, interpassedout);
pst.setString(15, intercountry);
pst.setString(16, interstate);
pst.setString(17, interdistrict); 
String filePath1 = savePath + File.separator + fileName1;
pst.setString(2, filePath1);




pst.setString(19, degree);
pst.setString(20, university);
pst.setString(21, collegename);
pst.setString(22, branch);
pst.setString(23, degreepassedout);
pst.setString(24, degreepercentage);
pst.setString(25, degreecountry);
pst.setString(26, degreestate);
pst.setString(27, degreedistrict);
String filePath2 = savePath + File.separator + fileName2;
pst.setString(3, filePath2);


pst.setString(29, pguniversity);
pst.setString(30, pgcollege);
pst.setString(31, pgbranch);
pst.setString(32, pgpassedout);
pst.setString(33, pgpercentage);
pst.setString(34, pgcountry);
pst.setString(35, pgstate);
pst.setString(36, pgdistrict);
String filePath3 = savePath + File.separator + fileName3;
pst.setString(4, filePath3);



int i=pst.executeUpdate();  
if(i>0) {
    out.print("<p>Record saved successfully!</p>");  
}else{  
    out.println("Sorry! unable to save record");  
} 





} catch (Exception ex) {

out.println("error" + ex);

}

}

}

// the extractFileName() is method used to extract the file name

private String extractFileName(Part part) {

String contentDisp = part.getHeader("content-disposition");

String[] items = contentDisp.split(";");

for (String s : items) {

if (s.trim().startsWith("filename")) {

return s.substring(s.indexOf("=") + 2, s.length() - 1);

}

}

return "";

}

@Override

protected void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

processRequest(request, response);

}

@Override

protected void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

processRequest(request, response);

}

@Override

public String getServletInfo() {

return "Short description";

}

}

Пожалуйста, предоставьте решение.Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...