2013-01-24 39 views

回答

0

貌似'user_logo'a JPEG filebase16/hex編碼(除前綴'<'

>>> 'ffd8ffe000104a4649460001010100'.decode('hex') 
'\xff\xd8\xff\xe0\x00\x10JFIF\x00\x01\x01\x01\x00' 

你可以使用ContentFile存儲這類數據

obj.image.save(filename, ContentFile(the_decoded_content)) 

另外,最好問問傢伙的實施情況客戶端是否可以在multipart/form-data中發帖,如果是這樣,user_logo可以很容易地通過request.FILES訪問...並且請求主體較少

0

通常,您不想將圖像存儲在數據庫中。 Django的FileFieldImageField從磁盤加載數據。

編輯:剛剛注意到標題與發佈數據有關。退房的文章file uploads

2

models.py

class Image(models.Model): 
    image = models.ImageField(upload_to='image_uploads') 
    created = models.DateTimeField(auto_now_add=True) 

forms.py

class ImageForm(ModelForm): 
    class Meta: 
     model = Commercial 

views.py

def add_image(request): 
    if request.method == 'POST': 
     form = ImageForm(request.POST, request.FILES) 
     if form.is_valid(): 
      form.save() 
return direct_to_template(request, 'page.html', { 
    'form': ImageForm() 
}) 

page.html中

<form method="post" enctype="multipart/form-data"> 
{% csrf_token %} 
    {{form.image}} 
</form>