2010-04-14 5 views
4

내가 좋아하는, 내 장고 프로젝트에서 URL에 대한 링크를 수있는 사용자 정의 필드 "파일 다운로드"와 ModelAdmin 확장 : 나는 파일을 제공하려면이장고 S3 프록시로

http://www.myproject.com/downloads/1 

을하는 S3 버킷에 저장됩니다. 버킷의 파일은 공용으로 읽을 수 없으므로 사용자가 직접 액세스 할 수 없습니다. 지금은 파일이 서버에 임시 파일을 위해 서버 메모리 (이러한 멀티 GB-파일입니다)

  • 피하기에로드 할 수있다

    • 피하려고

    이상적인에게 해결책은 django가 S3-chunk를 사용자에게 직접 스트리밍하는 프록시 역할을하도록하는 것입니다. 나는 boto를 사용하지만 청크를 스트리밍 할 가능성은 발견하지 못했습니다. 아이디어가 있으십니까?

    감사합니다.

  • 답변

    4

    프록시를 사용하지 않고 단순히 리디렉션하지 않는 이유는 무엇입니까?

    www.myproject.com/downloads/1의 django보기를 사용하여 S3 저장 URL에 HTTP 리디렉션을 제공합니다. 시간 제한된 인증 된 URL을 생성 할 수 있습니다.

    http://docs.amazonwebservices.com/AmazonS3/2006-03-01/dev/ 그런 다음 클라이언트가 S3에서 직접 파일을 다운로드하지만 내용은 여전히 ​​안전하고 접근이 장고 응용 프로그램 내가 여기에 다른 답변이 있었으면

    +0

    통해 올이 여기를 참조하십시오. "Content-disposition : attachment"헤더를 추가해야한다는 점을 제외하고 나는 똑같은 것을 필요로한다. –

    관련 문제