お世話になります。 JSP & Servlet でファイルアップロードした後、ファイルパスを取得したのですが違う所を参照してます。 正しくファイルパスを取得できる方法を教えてください。 ファイルをアップロードした先: C:\\Users\\ユーザ名\\Documents\\NetBeansProjects\\Examination\\Examination-war\\web\\library\\images ファイルパスで取得した先: C:\Users\ユーザ名\AppData\Roaming\NetBeans\7.4\config\GF_4.0\domain1\config\capine.JPG 下記は、実際に記述したプログラムです。 @WebServlet(name = "FileUploadController", urlPatterns = {"/content/FileUploadController"}) @MultipartConfig( location = "C:\\Users\\ユーザ名\\Documents\\NetBeansProjects\\Examination\\Examination-war\\web\\library\\images", fileSizeThreshold = 1024 * 1024 * 1, // 1 MB maxFileSize = 1024 * 1024 * 5, // 5 MB maxRequestSize = 1024 * 1024 * 10 ) // 10 MB public class FileUploadController extends HttpServlet { /** * Processes requests for both HTTP
GET
and POST
* methods. * * @param request servlet request * @param response servlet response * @throws ServletException if a servlet-specific error occurs * @throws IOException if an I/O error occurs */ protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html; charset=Shift_JIS"); Part part = request.getPart("file"); String name = this.getFileName(part); if (this.isValidFile(name)) { part.write(File.separator + name); response.getWriter().println("ファイルアップロードに成功しました。"); File file = new File(name); String path = file.getAbsolutePath(); // パスを取得 System.out.println("File:" + path); // コンソールに出力 } else { response.getWriter().println("ファイルアップロードに失敗しました。"); } } private String getFileName(Part part) { String contentDisp = part.getHeader("content-disposition"); System.out.println("content-disposition header= " + contentDisp); String[] tokens = contentDisp.split(";"); for (String token : tokens) { if (token.trim().startsWith("filename")) { return token.substring(token.indexOf("=") + 2, token.length() - 1); } } return ""; } private boolean isValidFile(String name){ if(name != null){ String[] perms = {"gif", "jpg", "jpeg", "JPG", "png"}; String[] names = name.split("\\."); for(String perm : perms){ if(perm.equals(names[names.length - 1])){ return true; } } } return false; } }