亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何將生成的 PIL 映像從 Django REST 框架后端獲取到前端?

如何將生成的 PIL 映像從 Django REST 框架后端獲取到前端?

肥皂起泡泡 2022-08-02 18:20:29
我計劃制作一個Web應用程序,我可以在其中發出POST請求,以在后端使用PIL生成圖像,并通過GET通過REST框架將其鏈接到前端,我可以在其中下載它。我不想將生成的圖像保存在數據庫中。只想生成一次僅用于下載。關于我如何實現它的任何想法?
查看完整描述

2 回答

?
繁星coding

TA貢獻1797條經驗 獲得超4個贊

我找到了一種方法來生成圖像,而無需將其保存在文件夾中。您基本上將圖像保存為字節并轉換為base64。


views.py


import io

import base64

from PIL import Image

from django.shortcuts import render

from django.utils.safestring import mark_safe


def home(request):

  im_io = io.BytesIO()

  im = Image.new('RGBA', (300,300), (255, 214, 107))

  im_bg.text((10,0), test, fill='black')

  im.save(im_io, 'png', quality=70)

  im_io.seek(0)

  im_io_png = base64.b64encode(im_io.getvalue())

  context = im_io_png.decode('UTF-8')

  img_tag = mark_safe(f"<img src='data:image/png;base64, {context}'/>")

  return render(request, 'home.html', {'img_tag': img_tag })

家.html


<body>

  <h1>The Poster Generator </h1>

  <div>{{img_tag}}</div> <!-- Image will display here -->

</body>


查看完整回答
反對 回復 2022-08-02
?
月關寶盒

TA貢獻1772條經驗 獲得超5個贊

您可能希望使用StreamingHttpResponse,它允許您發送FileField(或ImageField,就此而言)作為http響應。


查看完整回答
反對 回復 2022-08-02
  • 2 回答
  • 0 關注
  • 186 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號