2015-11-21 3 views
1

Я разрабатываю функцию для загрузки изображения.Django - Ошибка загрузки изображения

но я getiing этой ошибки

coercing to Unicode: need string or buffer, ImageFieldFile found 

Это код:

def download_image(request, image_id): 
    img = Base.objects.get(base_id=image_id) 
    wrapper  = FileWrapper(open(img.file)) # img.file returns full path to the image 
    content_type = mimetypes.guess_type(filename)[0] # Use mimetypes to get file type 
    response  = HttpResponse(wrapper,content_type=content_type) 
    response['Content-Length']  = os.path.getsize(img.file)  
    response['Content-Disposition'] = "attachment; filename=%s" % img.name 
    return response 

ответ

0

img.file является ImageFieldFile объектом, open() требует строки. Вам нужно сделать open(img.file.name), чтобы получить фактический путь к файлу.

+0

спасибо .. это работает .. –

+0

Mark как решённый. :) –

+0

Извините, я только что получил новую ошибку .. global name 'filename' не определен .. –

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