2010-04-09 3 views
1

지난 5 년간 업로드 된 파일 (이미지, 비디오, 문서 등)을 저장하는 일반적인 방법은 모든 것을 "업로드"폴더에 던져 고유 한 이름을 지정하는 것이 었습니다.업로드 된 콘텐츠를 웹 사이트에 저장

업로드 된 콘텐츠를 저장하는 방법을 수정하고 다른 방법이 사용되고 있는지 궁금합니다.

업로드 된 파일 이름을 보존 할 수 있도록 각 항목을 고유 폴더 (폴더 이름은 db의 ID 임)에 저장하는 것으로 간주했습니다. 또한 모든 미디어를 잠긴 폴더에 업로드 한 다음 파일 핸들러를 사용하여 쿼리 문자열에서 다운로드 할 파일의 ID를 전달한 다음 파일을 읽고 바이트를 사용자에게 보냈습니다. 이는 액세스를 확인하고 사용자의 대역폭을 제한하는 데 유용합니다.

답변

0

파일 처리 방법은 파일을 처리하는 좋은 방법이라고 생각합니다. 선택하는 플랫폼에서 리소스를 잘 활용하는 방법을 알고 있어야합니다. 자신이하는 일을 모를 경우 1GB 파일을 메모리에 읽는 것과 같은 어리석은 일을하는 것이 가능합니다.

디스크에 파일을 저장하는 것과 관련하여 얼마나 많은 파일, 액세스 패턴이 무엇인지, 사용중인 OS/플랫폼이 무엇인지에 대한 질문입니다. 어떤 사람들에게는 파일을 데이터베이스에 저장하는 것이 유리할 수 있습니다.

몇 가지 유형의 버전을 지정하지 않는 한 업로드 당 별도의 디렉토리를 만드는 것이 과도한 것처럼 보입니다. 개인적인 선호는 업로드 된 파일의 이름을 바꾸고 원래 이름을 저장하는 것입니다. 사용자가 다운로드 할 때 원래 이름을 다시 첨부합니다.

0

SolFS과 같은 가상 파일 시스템을 고려하십시오. 다음은 작업을 해결하는 방법입니다.

재 방문자가있는 경우 방문자별로 별도의 컨테이너를 가질 수 있습니다 (예 : 방문자 로그인으로 이름 지정). 이 접근 방식의 장점 중 하나는 방문자의 암호를 사용하여 컨테이너를 암호화 할 수 있다는 것입니다.

한 번만 방문하는 방문자가 많은 경우 하나 이상의 컨테이너에 파일을 업로드 날짜별로 그룹화 할 수 있습니다.

가상 파일 시스템을 사용하면 원본 파일 이름을 실제 파일 이름이나 저장되는 파일의 메타 데이터로 유지할 수 있습니다.

다음으로 컨테이너에 저장된 데이터를 압축 할 수 있습니다.