2011-04-13 3 views
1

원격 클라이언트는 이미지 (및 일부 특수 파일 형식의 지침 파일)를 "드롭 폴더"에 업로드합니다. 업로드가 완료되면 이미지를 처리해야합니다. 스크립트가 자동으로 폴더의 모든 파일을 몇 초마다 처리하기 시작하는 것은 쉽지만 결함이있는 솔루션입니다 (파일은 한 번 처리 된 폴더에서 이동할 수 있습니다). 부분적으로 만 전송되는 큰 이미지를 처리하려고 할 때 문제가 발생할 수 있습니다."드롭 폴더"의 파일이 완전히 전송되었는지 확인할 수있는 방법

파일을 처리하기 전에 파일을 완전히 업로드하기 위해 사용할 수있는 트릭은 무엇입니까?

내 자신의 생각 중 몇 가지 : 스크립트가 파일의 유효성을 검사 할 수 있습니다. 즉, 부분적으로 jpeg로 인해 오류가 발생하고 스크립트의 해당 오류에 응답 할 수 있습니다. 이는 상당히 CPU 집약적입니다. 일부 파일에는 끝에 특수 표시자가 있지만 여기에는 의의가 없습니다. 어떤 형식으로 처리 할 지 모르겠습니다.

"파일 핸들"에 대해 들어 봤지만 실제로 무엇인지, 그리고 특정 파일에 "파일 핸들"이 있는지 어떻게 알 수 있는지에 대한 기본 정보는 알지 못했습니다. 기본적으로 FTP 데몬 (실제로는 Windows에 있으므로 "서비스")은 업로드되는 동안 파일에 "핸들"을 유지하고 해당 파일을 처리하지 않을 것입니다. 이것들은 내 생각의 일부에 지나지 만, 만약 그들이 일할 것인지, 아니면이 문제를 해결할 수있는 더 좋은 방법이나 더 좋은 방법이 있는지는 잘 모르겠습니다.

답변

1

서버 측 스크립트 업로드 시스템 (PHP, ASP, JSP 등)이 있으면 스크립트가 다른 스크립트를 호출하여 파일을 처리하거나 업로드가 완료되었음을 나타내는 플래그 파일을 만들도록 지시 할 수 있습니다 , 이 같은.

서버가 Linux 기반 인 경우 lsof을 사용하여 파일이 열려 있는지 확인할 수 있습니다. 업로드가 완료된 후 ftp/script/cgi가 파일을 닫으므로 lsof은 목록에 파일을 표시하지 않습니다.

서버가 Windows 기반 인 경우 프로세스 탐색기를 사용하여 열려있는 파일을 나열 할 수 있습니다.

0

사용자가 이미지를 업로드하는 방법은 무엇입니까?

관련 문제