我正在尝试将图像从django服务器发送到app。以上问题有两种解决方法: 1)发送图片网址 2)发送编码图像 由于以下原因,我不确定要使用哪一个:

  1. 如果我选择第一种方式。 Json响应会更快,但是如果用户两次返回页面,它将在服务器上发出两个请求。而且,将不可能缓存图像。
  2. 在第二种方法的情况下,我可以将图像缓存在客户端应用程序上,但是编码会增加服务器的整体响应时间吗?

这是从api发送图像的推荐方法。 目前,我正在通过以下方式发送图片:

return JsonResponse({'image':model.image.url})
分析解答

答案是方法1.编码图像会破坏您的服务器响应时间,除非它们像缩略图或头像一样很小,即使那样我也不会习惯。我发现这种做法使应用程序无法使用。大多数浏览器会在会话期间自动缓存图像。如果服务器性能是一个大问题,并且图像正在将其拖累,通常,我将图像存储在某种静态文件主机中(如s3),并在现实环境中使用边缘缓存。