跳至內容
選單
此問題已被標幟
1 回覆
10219 瀏覽次數

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

相關帖文 回覆 瀏覽次數 活動
2
7月 22
12066
0
2月 21
1909
5
5月 25
33904
0
11月 23
1919
0
10月 23
1542