IMB*_*IMB 5 php amazon-s3 amazon-web-services
根据文档,contentType是可选的,它将尝试根据文件扩展名确定正确的mime类型.但是,它似乎永远不会猜测mime类型,并且始终默认为application/octet-stream
这是我的代码:
$s3 = new AmazonS3();
$opt = array( 'fileUpload' => $_FILES['file']['tmp_name'],
'storage' => Amazons3::STORAGE_REDUCED);
$r = $s3->create_object('mybucket', $_FILES['file']['name'], $opt);
Run Code Online (Sandbox Code Playgroud)
这是我的AWS控制台的屏幕截图:

如何在不设置contentType选项的情况下实际自动设置正确的内容类型,或者您是否真的需要手动设置?
附加信息:如果我从控制台下载文件(我最初通过SDK上传),然后使用控制台再次上传,则设置正确的Content-Type(例如:用于GIF文件的image/gif而不是application/octet-stream )
尝试在创建对象时将"contentType"键添加到options数组,并使用"body"而不是"fileUpload".例如:
$s3->create_object('MY_BUCKET', 'xml_file.xml', array(
'body' => '<xml>Valid xml content</xml>',
'contentType' => 'text/xml'
));
Run Code Online (Sandbox Code Playgroud)
使用text/xml内容类型成功创建文件.据我所知,通过SDK上传时不会自动设置Content-Type.但是从PHP端发出mime类型并设置'contentType'属性的问题是什么?
| 归档时间: |
|
| 查看次数: |
8569 次 |
| 最近记录: |