현재 브라우저에서 하나의 이미지를 업로드하고 있습니다. 백 엔드에는 Java 코드가 있습니다.이 이미지를 가져 와서 바이트 배열로 변환하고 실제로이 부분을 데이터베이스에 저장하는 중입니다.Java에서 절대 경로를 얻는 방법
코드는 다음과 같이 간다 : 절대적으로 잘 작동 :
String fromLocal = "D:/123.jpg";
File file = new File(fromLocal);
InputStream inputStream = null;
byte[] bFile= null;
byte[] imageData = null;
try {
inputStream = new BufferedInputStream(new FileInputStream(file));
ByteArrayOutputStream baos = new ByteArrayOutputStream(8192);
bFile = new byte[8192];
int count;
while((count = inputStream.read(bFile))> 0){
baos.write(bFile, 0, count);
}
bFile = baos.toByteArray();
if(bFile.length > 0){
imageData = bFile;
}
baos.flush();
inputStream.close();
} catch (Exception ioe) {
//throw ioe;
}
문제는 내가 (/123.jpg 여기 D 같은) 이미지 경로를 하드하려고 할 때마다입니다. 이제 사용자 의존 & 클라이언트 의존 그는 어떤 디렉토리에서 어떤 드라이브 &에서 이미지를로드 할 수 있습니다. 난 서블릿을 사용하는 권한이 없어요. 내 검색어 :
1. D : /123.jpg에서 동일한 이미지를 업로드하려고 시도하는 중 브라우저에서 123.jpg 만 가져 오는 중입니다. D : /123.jpg와 같은 절대 경로가 아닙니다. 때문에 지금은 이미지를 처리 할 수 없습니다.
2. 사용자가 이미지 업로드를 시도한 특정 경로를 알고 싶습니다 (사용자가 C : /images/123.jpg에서 이미지를 업로드 할 수 있음).이 절대 경로를 얻는 방법.
나는 내 세부적인 세부 사항을 내 최선을 다했는데 뭔가 명확하지 않다면 다른 방법으로 설명하려고 노력할 것입니다.
Java에서 getAbsolutePath() 메소드를 찾으십니까 –
사용자가 파일을 어디에서 업로드합니까? 업로드한다는 것은 웹 사이트를 사용하고 있음을 의미하지만 "나는 서블릿을 사용할 권한이 없습니다"라고 말합니다. 소프트웨어는 어디서 실행됩니까? – f1sh
질문 2, 요즘 대부분의 브라우저는 보안상의 이유로 파일의 전체 경로를 게시하지 않을 것이라고 확신합니다. – George