【问题标题】:Slim 3 Write Image as ResponseSlim 3 写入图像作为响应
【发布时间】:2016-09-07 04:09:28
【问题描述】:

我已经研究了几个小时,但 Google 没有提供任何帮助。如何使用 Slim 3 编写图像作为响应?无论我尝试了什么,都会显示二进制数据而不是图像。这是我尝试的第一段代码。

$image = file_get_contents("image_location");
return $response->withHeader("Content-Type", "image/jpeg")->write($image);

除此之外,我还添加了各种标头,例如 Content-Disposition 和 Content-Length。尝试输出为base64。如果你找到它的谷歌结果,我很有可能试过了。没有任何效果。当然,这个简单的 PHP 在独立文件中可以正常工作,但在 Slim 中却不行。

header("Content-Type: image/jpeg");
readfile("image_location");

我的猜测是,当 Slim 输出时,它会对数据产生影响,但我不确定。最坏的情况我只是创建一个模板并将 base 64 输出为 img src。我试图避免这种情况。

更新 经过一番调查,内容类型似乎被重置为 text/html,但我不知道为什么。欢迎任何见解。

【问题讨论】:

    标签: php image frameworks response slim


    【解决方案1】:

    对于那些好奇的人,我找到了解决方案。我将其追溯到我的中间件,其中有 $next($request, $response);但是我忽略了将返回值分配给 $response,所以 Slim 将响应设置为默认值。

    现在我知道要确保中间件包含以下内容:

    $response = $next($request, $response);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-06-18
      • 2017-06-18
      • 1970-01-01
      • 1970-01-01
      • 2018-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多