【发布时间】:2020-12-02 12:50:24
【问题描述】:
我有一个 Django 应用程序作为 Android 应用程序的后端。问题是 Android 应用程序将图像发送到 Django 服务器。然后服务器进行一些计算,我需要将修改后的图像和在服务器中计算的浮点值作为响应返回。
很清楚如何使用 HttpResponse 只返回图像:
def backend_function(request):
img = request.FILES["file"].read()
img_res, float_res = some_calculations(img)
return HttpResponse(img_res, content_type="image/jpeg")
但我不知道如何将 float_res 添加到 HttpResponse。
【问题讨论】:
-
您应该使用两个响应。例如,您可以使用一个返回图像数据的响应,另一个使用
some_calculations。另一种方法是您以某种方式对图像进行编码,例如 base64,然后返回一个带有float_res和编码img_res的 JSON blob。 -
@WillemVanOnsem 的回答是正确的。可能还有其他方法可以考虑。您可以将
float_res附加到返回的文件名、响应标头或会话中。如果要保存图像,可以将其作为 URL 返回,url和float_res都可以放入响应中。 -
@GAEfan,你的答案对我来说是正确的。我可以将浮点数添加到响应的标题中并返回它。请把它写下来作为答案,我会标记为正确的。
标签: python django http request httpresponse