다음 JavaEE 기반 웹 응용 프로그램을 만들어서 WAR 파일로 내 보낸 다음 VM에서 실행중인 Tomcat 서버에 배포했습니다.HTTP 상태 500 - 입력 파일을 읽을 수 없습니다.
응용 프로그램을 사용하면 이미지를 VM 디스크의 위치로 업로드 한 다음 이전에 업로드 한 파일의 경로를 허용하는 이미지 처리 클래스를 실행할 수 있습니다.
ImageIO.read()를 사용하여 파일에서 버퍼링 된 이미지를 읽으려고합니다.
IDE에서 실행할 때 이미지 처리 클래스가 올바르게 작동하고 디스크에 저장된 이미지를 받아 처리 된 이미지를 출력 할 수 있습니다.
public void sobelFilter(String input, String output) throws IOException {
File inputFile = new File(input);
BufferedImage img = ImageIO.read(inputFile);
ImageReader ir = new ImageReader();
BufferedImage sobelImg = ir.greyscale(img);
File outputFile = new File(output);
ImageIO.write(sobelImg, "jpg", outputFile);
}
:이 업로드 된 이미지를 읽어 이미지 처리 클래스의 일부 코드가
HTTP Status 500 - Can't read input file!
type Exception report
message Can't read input file!
description The server encountered an internal error that prevented it from fulfilling this request.
exception
javax.imageio.IIOException: Can't read input file!
javax.imageio.ImageIO.read(Unknown Source)
upload.servlet.resizeImageAndSaveSobel2.sobelFilter(resizeImageAndSaveSobel2.java:22)
upload.servlet.resizeImageAndSaveSobel2.processImage(resizeImageAndSaveSobel2.java:14)
upload.servlet.RunTongue.doPost(RunTongue.java:24)
javax.servlet.http.HttpServlet.service(HttpServlet.java:648)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
note The full stack trace of the root cause is available in the Apache Tomcat/9.0.0.M13 logs.
: 배포 된 웹 응용 프로그램으로 액세스 할 때 그러나 나는 오류를 만났다하고 입력 파일 문자열은 다음과 같습니다. C :/Users/SRCMIPS/Desktop/M2/Image Upload/PatientImage.jpeg
프로젝트의 배포 된 WAR로 ImageIO.read와 관련하여 문제가 있습니까? 응용 프로그램이 VM에있는 경로의 이미지를 읽을 수 없습니까?
이 문제에 대한 해결책에 대한 안내는 감사하겠습니다.
이 sobelFilter' 방법'에 브레이크 포인트를 넣고'input' 검사 :
또한이 문제에 대해 설명이 유래 질문을 참조하시기 바랍니다. 대부분 잘못되었을 가능성이 있습니다. – VHS
외부 정적 데이터를 제공하도록 Tomcat을 구성해야합니다. 이것을 참조하십시오. [링크] (http://www.moreofless.co.uk/static-content-web-pages-images-tomcat-outside-war/) –
@PGH 희망도이 도움말 [링크] (http : // stackoverflow. com/questions/1812244/simple-way-to-serve-static-data-outside-the-application-a-java에서) –