2009-06-26 2 views
0

양식의 이미지를 업로드하고 Google 서버에 저장하는 코드로 작업하고 있습니다. Internet Explorer에서 사용자는 수동으로 경로를 입력 할 수 있으며 파일이 존재하는지, 즉 사용자가 유효한 경로를 입력했는지 확인할 수 있는지 궁금합니다.commons-fileupload를 사용하여 파일을 업로드 할 때 유효한 경로 확인

크기를 확인하는 데 사용되는 FileItem 개체가 있습니다 (예 : fileItem.getSize() < MAX_SIZE). 파일을 확인하기 위해 크기를 사용하는 것이 좋은 방법인지 궁금합니다. 예 :

if (fileItem.getSize() == 0) { 
    // Somethings wrong -- invalid path. 
} else { 
    // File exists -- valid path. 
} 

모든 의견을 환영합니다. 감사!

+0

아무 것도 업로드되지 않은 경우에도 FileItem을 얻지 못한다고 생각합니다. – akarnokd

+0

FileItem을 얻지 만 입력 한 모든 가비지 경로의 크기는 0입니다. – Chocula

+0

무언가를 업로드하지 않아서 파일 업로드를 테스트 한 적이 없으므로 고맙습니다. 나는 당신이 어떤 종류의 것들이 업로드 될 수 있는지 알고 있고 당신의 방법으로 머물 수있는 길이가 0 인 파일을 정말로 기대하지 않는다고 생각합니다. – akarnokd

답변

1

클라이언트에서는 스크립트를 사용하여 파일 업로드 컨트롤의 텍스트를 안정적으로 읽을 수 없습니다. 예를 들어 IE8과 Opera10은 거짓말을하고 "C : \ fakepath \"를 포함하는 일반 경로를 제공합니다. 이는 개인 정보 보호의 이유로 이루어집니다.

서버에서 정확하게 수행 할 수 있습니다. 업로드 한 파일이 실제로 있는지 확인하고, 그렇다면 파일을 검토하여 기준과 일치하는지 확인하면됩니다.