gpt4 book ai didi

html - 使用 SSE 发送图像数据

转载 作者:可可西里 更新时间:2023-11-01 13:05:41 26 4
gpt4 key购买 nike

我见过的所有实现服务器发送事件 (https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events) 的示例都将响应的内容类型设置为 text/event-stream

我希望使用 SSE 机制发送图像数据。但我不确定这是否适用于文本内容类型。

我可以为此使用 SSE 吗?还是为此我需要一个“全尺寸”连接?

最佳答案

可以,通过对图像进行 base64 编码(SSE 不支持发送二进制文件)。但是(看看你对其他答案的评论,这些是大图像),不要那样做。假设当前图像生成超时,因为它生成速度慢,不是很大,我会这样做:

  1. 调用/make_my_image/
  2. 这是一个 SSE 流程,开始制作图像。它发送通常的 header 。
  3. 当图像准备好后,将其保存到本地磁盘(或内存数据库等)
  4. 使用 SSE 发回可以下载图像的 URL。然后关闭 SSE 进程(服务器端)。
  5. 客户端通过 Apache(或其他)请求图像。
  6. 客户端可以发送一条消息来说明它何时获得图像并且可以将其删除。和/或使用 cron 作业在这么多小时后清除旧图像。

即这发挥了 SSE 适合低延迟文本消息的优势:一旦图像制作完成,客户端就可以下载它。比后台进程制作图像要好得多,然后客户端必须轮询以了解它何时准备就绪。

如果隐私很重要——没有其他人应该能够下载图像——那么第 5 步可以是一个 PHP(或你选择的语言)脚本,它检查客户端 cookie 是否与你的 session 匹配,并且只通过流式传输文件如果是的话。

关于html - 使用 SSE 发送图像数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33529685/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com