2016-12-12 81 views
0

メディアディレクトリの下にあるImagesフォルダに画像をアップロードしようとしています。私は、私のviews.pyで次のAPIViewを使用しています。イメージをdjango restモデルにアップロード

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

あなたは大歓迎です:) – neverwalkaloner

関連する問題