gpt4 book ai didi

php - 下载时更改为原始文件名?

转载 作者:可可西里 更新时间:2023-11-01 00:26:18 24 4
gpt4 key购买 nike

我通过此 API 将 Amazon S3 服务与 PHP 结合使用
https://github.com/tpyo/amazon-s3-php-class
我像这样将 url 传递给客户端

https://domain.s3.amazonaws.com/bucket/filename_11052011111924.zip?AWSAccessKeyId=myaccesskey&Expires=1305311393&Signature=mysignature

因此,当客户端单击或将 URL 粘贴到浏览器时,下载的文件名为 filename_11052011111924.zip。但我将原始文件名存储在 DB 中。

那么是否可以在将 URL 单独传递给客户端并使用原始文件名下载时进行下载。我不确定这是否对我有帮助。

Content-Disposition: attachment; filename=FILENAME.EXT
Content-Type: application/octet-stream

最佳答案

如果您在将文件上传到 S3 时设置了在文件中列出的 header ,您能够使用原始文件名下载文件。 (您也可以在 S3 中的现有文件上设置这些 - 请参阅 AWS 文档)

我不确定你的图书馆是否支持这个,但你可以用 AWS S3 SDK 做到这一点.

类似的东西(我不知道 php 所以检查语法):

// Instantiate the class
$s3 = new AmazonS3();

$response = $s3->create_object('bucket', 'filename_11052011111924.zip', array(
'fileUpload' => 'filename.zip',
'contentType' => 'application/octet-stream',
'headers' => array( // raw headers
'Content-Disposition' => 'attachment; filename=filename.zip',
),
));

更新

您还可以在每次生成新网址时调整某些 header 。参见 http://docs.amazonwebservices.com/AWSSDKforPHP/latest/#m=AmazonS3/get_object_url

$url = $s3->get_object_url('bucket', 'filename_11052011111924.zip', '5 minutes', array(
'response' => array(
'Content-Disposition' => 'attachment; filename=filename.zip'
)
));

关于php - 下载时更改为原始文件名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5989391/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com