2013-02-28 5 views
1

django-rest-framework 나는 API를 통해 이미지를 업로드하는 방법을 사용하여 이미지 필드가 있습니까?django-rest-framework 및 업로드 이미지

예가 있습니까?

models.py

image = models.ImageField(
     upload_to="profiles", 
     height_field="height", 
     width_field="width", 
     null=True, 
     blank=True, 
     editable=True, 
     help_text="Profile Picture", 
     verbose_name="Profile Picture" 
    ) 
    height = models.PositiveIntegerField(null=True, blank=True, editable=False) 
    width = models.PositiveIntegerField(null=True, blank=True, editable=False) 
+1

http://stackoverflow.com/questions/을 업로드 내 작업 코드

views.py

class FileUploadView(APIView): # parser_classes = (MultiPartParser, FormParser,) parser_classes = (FileUploadParser,) # media_type = 'multipart/form-data' # format = 'jpg' def post(self, request, format='jpg'): up_file = request.FILES['file'] destination = open('/Users/Username/' + up_file.name, 'wb+') for chunk in up_file.chunks(): destination.write(chunk) destination.close() # ... # do some stuff with uploaded file # ... return Response(up_file.name, status.HTTP_201_CREATED) 

urls.py

urlpatterns = patterns('', url(r'^imageUpload', views.FileUploadView.as_view()) 

컬 요청입니다 11398696/upload-image-to-imagefield-djangorestframework-using-json-and-test-this-wit – catherine

답변

0

이미지 필드는 이미지가 아니라에 대한 링크를 저장하지 않습니다. 설정에서 MEDIA_URL을 (를) 설정 했습니까? 예 : MEDIA_URL = '/ media /'localhost에서 실행중인 경우 localhost/media/profiles/image_name.png에서 이미지를 찾으십시오.

2

마지막으로 장고를 사용하여 이미지를 업로드 할 수 있습니다. 여기

curl -X POST -S -H -u "admin:password" -F "[email protected];type=image/jpg" 127.0.0.1:8000/resourceurl/imageUpload 
+0

당신은 그렇지 않았습니까? 닫힌 파일에 대한 'I/O 작업'이 있습니까? – andi

+0

기본값 대신'TemporaryFileUploadHandler'를 사용했기 때문에 내 잘못이었습니다. – andi