2016-12-12 5 views
0

미디어 디렉토리 아래의 Images 폴더에 이미지를 업로드하려고합니다. 내 views.py에서 다음 APIView를 사용하고 있습니다.django rest model에 이미지 업로드

class FileUploadView(APIView): 
    parser_classes = (FileUploadParser,) 

    def post(self, request, format='jpg'): 
     up_file = request.FILES['file'] 
     destination = open('C:\\Users\\cano\\Desktop\\workspace\\campusBackend\\campusBackend\\media\\Images', 'wb+') 
     for chunk in up_file.chunks(): 
      destination.write(chunk) 
      destination.close() 
      return Response(up_file.name, status.HTTP_201_CREATED) 

그러나 요청을 보내면 다음 오류가 표시됩니다.

> PermissionError: [Errno 13] Permission denied: 
> 'C:\\Users\\cano\\Desktop\\workspace\\campusBackend\\campusBackend\\media\\Images' 
> [12/Dec/2016 15:10:45] "POST /imageUpload HTTP/1.1" 500 19170 

settings.py에서 이미 MEDIA_ROOT 및 MEDIA_URL을 (를) 추가했습니다.

> MEDIA_ROOT = os.path.join(BASE_DIR, 'media') 
> 
> MEDIA_URL = '/media/' 

답변

0

이 시도 : 코드와

destination = open('C:\\Users\\cano\\Desktop\\workspace\\campusBackend\\campusBackend\\media\\Images' + up_file.name, 'wb+') 

을 당신이하지 않는 파일을 디렉토리를 재 작성하려고합니다.

+0

끝에 새 파일 이름을 추가하면 내 문제가 해결되었습니다. – cano

+0

@can 당신은 환영합니다 :) – neverwalkaloner