【问题标题】:No filename when uploading to Google Cloud Storage in PHP在 PHP 中上传到 Google Cloud Storage 时没有文件名
【发布时间】:2014-09-16 01:16:53
【问题描述】:

我正在以编程方式上传 pdf 文件并想设置文件名。当我通过 POST 上传文件时,文件名属性会自动设置。但是,当使用下面的方法时,它会将其重命名为“s9QmBqJPuiVzWbySYvHVRg==”,并且没有文件名。

$gs_file='gs://<bucket-name>/proposal.pdf';
$options = ['gs' => ['Content-Type' => 'application/pdf']];
$ctx = stream_context_create($options);
file_put_contents($gs_file,$content,0,$ctx);

如果我下载然后添加 .pdf 作为扩展名,它会以原始 pdf 格式打开,因此实际文件本身已上传,但它只是文件名和 .pdf 扩展名。有没有办法让文件在上传时保留其原始文件名?

我已经看到了solution,但它是在 python 中的。

注意:在部署之前,我正在本地环境中对此进行测试。在本地测试和在 Google App Engine 上实时测试文件名的处理方式是否不同?

【问题讨论】:

标签: php google-app-engine filenames google-cloud-storage blobstore


【解决方案1】:

所以我继续部署它,结果发现在本地测试文件名与在 Google App Engine 上测试文件名的处理方式不同。

因此,如果您在本地进行测试,您可以测试是否通过 GAE Launcher --> SDK Console --> Blobviewer 上传的对象。请注意,文件名将为空,键是一组字母数字。

但是一旦您部署到 GAE 并进行测试,该文件将使用正确的文件名上传到 GCS。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-12-23
    • 1970-01-01
    • 2021-01-05
    • 2019-01-11
    • 2023-03-30
    • 1970-01-01
    • 2014-01-05
    相关资源
    最近更新 更多