使用PHP上传到Google云端存储时无文件名

时间:2014-09-16 01:16:54

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

我是以编程方式上传pdf文件,并希望设置文件名。当我通过POST上传文件时,会自动设置filename属性。但是,当使用下面的方法时,它会将其重命名为“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上的文件名不同?

1 个答案:

答案 0 :(得分:0)

所以我继续进行部署并证明文件名在本地测试时与在Google App Engine上测试时的处理方式不同。

因此,如果您在本地进行测试,则可以测试通过GAE Launcher上传的对象 - &gt; SDK控制台 - &gt; Blobviewer。请注意,文件名将为空,密钥将是一组字母数字。

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

相关问题