首页 > 解决方案 > 从 aws s3 存储桶在 Web 浏览器中显示文件内容

问题描述

这是我想要做的是在当前位于 S3 存储桶上的浏览器中显示文件内容。

通过使用以下代码,我可以从 S3 存储桶中获取文件内容,

    $contents = file_get_contents("/var/general/".$_GET['id']);

接下来,我正在获取文件信息,但是,当我尝试读取文本文件时,我收到了无法加载 pdf 文档错误或收到错误消息。

这是我尝试读取文件的方式:

 header('Content-Type: ' . $fileInfo['RevUserFileType']);
 header('Content-Length: ' . $fileInfo['RevUserFileName']);
 readfile($contents);

此外,根据文件类型,我收到以下消息: readfile() 期望参数 1 是有效路径。

我怎样才能让文件在网页中查看,什么会导致这个问题?我可以访问 S3 存储桶,但由于某种原因,我无法在 Web 浏览器中查看文件的内容。

标签: phppdfamazon-s3

解决方案


我找到了解决方案。

导致问题的是以下行。

 $contents = file_get_contents("/var/general/".$_GET['id']);

所以我做了以下更改:

$contents = "/var/general/".$_GET['id']";

并添加了以下代码:

 header("ContentEncoding: 'base64'");

推荐阅读