2012-08-01 2 views
2

Django로 파일을 업로드하면 파일 업로드가 완료 될 때까지 응답이 반환되지 않습니다. 업로드 된 파일이 크면 사용자가 기다릴 수밖에 없을 때까지 오랜 시간이 걸립니다. 파일 업로드의 비동기 처리를 구현할 방법이 있습니까? 따라서 파일이 백엔드를 업로드 할 때 업로드를 중단하지 않고 현재 페이지에서 다른 작업을 수행 할 수 있습니까?Django에서 파일 업로드 비동기 처리

답변

-2

작업 관리가 필요합니다. 셀러리는 당신이 쫓아 오는 것입니다.

+2

기술적으로 OP가 아약스 POST를 수행하는 경우 셀리가 특별히 필요하다고 생각하지 않습니다. 그들이 더 대화식을 원한다면 플래시 업 로더 또는 셀러리 비동기 태스크를 사용하고 완료 상태를 계속 폴링하여 등록해야합니다. – jdi

+0

감사합니다. 다중 스레드로 파일 업로드를 처리하려고 시도했지만 스트림 읽기 용 스레드는 항상 sigment 오류로 종료됩니다. 나는 셀러리 asyc 작업을 사용하려고합니다. – user1567395

+0

그것은 귀중한 대답에서 꽤 멀리입니다. 샐러리 태스크는 인수와 같이 파일과 유사한 오브젝트를 허용하지 않습니다. 인수가 JSON 직렬 가능이어야하기 때문입니다. 또한 브로커 (적어도 RabbitMQ의 경우)에는 최대 인수 크기가 있습니다. – mpiskore

0

나는이 질문이 제기 된 지 5 년이 지났음을 알고 있지만 비슷한 문제가 있으며 "간단한 대답"이 없습니다.

progress bar (장고 양식을 사용하는 경우)을 사용하는 것이 좋습니다. Django에서 파일을 비동기 적으로 업로드 중입니다. might not be possible.

내 경우에는 브라우저 요소가 중요하지 않으며 브라우저 업로드에서 FTP/AWS S3 파일 저장 장치로 파일 업로드를 이동하여이 작업을 고려하고 있습니다.

관련 문제