Skip to Content
Меню
Вам необхідно зареєструватися, щоб взаємодіяти зі спільнотою.
Це запитання позначене
1 Відповісти
10211 Переглядів

Hi,

I want to display image in my custom module from url. I have an api and I  fetched the image url such as thumbnail from it. But while doing like given below code , its not worked.  

Thanks in advance

class img(models.Model):
_name = 'img.books'

photo = fields.Binary(string='Image')

def search_button(self):
url = "https://www.googleapis.com/books/v1/volumes?q=" + isbn_no;
response = requests.get(url)
json_data = response.json()
loaded_json = json.dumps(json_data)
book = json_data['items'][0]
image_url = book["volumeInfo"]['imageLinks']['smallThumbnail'] // here contains image url such as thumbnail
            
img_obj =Image.open(BytesIO(image_url.content))
buffer = BytesIO()
img_obj.save(buffer, format="JPEG")
img = base64.b64encode(buffer.getvalue().strip())
self.photo = img


Аватар
Відмінити
Найкраща відповідь

Hi,

Try to rewrite your code like below

import base64
import requests

class img(models.Model):
_name = 'img.books'

photo = fields.Binary(string='Image')

def search_button(self):
url = "https://www.googleapis.com/books/v1/volumes?q=" + isbn_no;
response = requests.get(url)
json_data = response.json()
loaded_json = json.dumps(json_data)
book = json_data['items'][0]
image_url = book["volumeInfo"]['imageLinks']['smallThumbnail'] // here contains image url such as thumbnail
img = base64.b64encode(requests.get(image_url).content)
            self.photo = img

Regards

Аватар
Відмінити
Автор

Thank you Cybrosys Techno Solutions.....

Its working

Related Posts Відповіді Переглядів Дія
2
лип. 22
12065
0
лют. 21
1908
5
трав. 25
33904
0
лист. 23
1917
0
жовт. 23
1542