php - 直接流式上传到 Amazon S3 时无 HTTP 响应

标签 php http amazon-web-services amazon-s3 fopen

我目前有一个功能可以从远程 url 抓取 mp3 文件,并将其上传到 Amazon S3 存储桶。

该函数似乎工作正常,因为该文件出现在 S3 中,但是我担心在我的本地服务器上使用隧道 (ngrok) 对此进行测试时,该页面似乎没有返回任何 HTTP 状态。

当我先在本地下载文件然后上传时,确实返回 200。当我们处理大型音频文件时,我试图让第一个想法更有效(我认为)。

有没有办法让页面返回 HTTP 状态代码,我应该担心它目前没有吗?

这是在 PHP 中使用 V2 Amazon SDK 的代码片段

$config = array('key' => AMAZON_S3_KEY,'secret' => AMAZON_S3_SECRET,'region' => 'us-west-2'); 

$s3 = Aws::factory($config)->get('s3')->registerStreamWrapper();
$s3->putObject(array(
    'Bucket' => 'mybucket',
    'Key'    => 'filename.mp3',
    'ContentLength' => $size,
    'Body'   => fopen($url, 'r')
));

最佳答案

putObject从官方文档返回一个模型对象,只有在 putObject 成功时才会返回正确的模型对象

关于php - 直接流式上传到 Amazon S3 时无 HTTP 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31849810/

相关文章:

php - 在 php 中处理实时通知的最佳方法是什么?

php - Javascript 搞乱了 PHP 文件的 POST 请求?

php - 为什么我要使用 spl_autoload_register 而不是 include 或 require 类和函数?

android - 将用于面部匹配的图像发送到 Android 上的 AWS Rekognition 时出错

python - 使用 boto3 获取新创建的亚马逊 ec2 实例的公共(public) IPv4 地址

amazon-web-services - Terraform 不会在 cloudwatch 事件目标上添加日志组名称

PHP,为什么有时 "\n or\r"有效但有时无效?

http - python 在 Content-Disposition 中请求 POST Multipart/form-data 和附加参数

php - 用什么替换 HTTP_GET_VARS?

没有 cURL 的 PHP4 HTTP 发布