2013-02-28 3 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/ 11398696/upload-image-to-imagefield-with-djangorestframework-using-json-and-test-this-wit – catherine

ответ

0

поле Изображение не сохраняет изображение, а скорее ссылку на него. У вас установлен MEDIA_URL в настройках? например MEDIA_URL = '/ media /' Если вы работаете на localhost, вы должны найти изображение на localhost/media/profiles/image_name.png

2

Наконец-то я могу загрузить изображение с помощью Django. Вот мой рабочий код

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()) 

локон запрос загрузить

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

Разве вы не face 'операция ввода-вывода в закрытом файле'? – andi

+0

Это была моя ошибка, потому что я использовал 'TemporaryFileUploadHandler' вместо значения по умолчанию. – andi

Смежные вопросы