【问题标题】:Using CodeIgniter file upload class with Google Cloud Storage将 CodeIgniter 文件上传类与 Google Cloud Storage 一起使用
【发布时间】:2015-02-27 15:09:13
【问题描述】:

有没有办法在谷歌云存储中使用 CI 的文件上传类?

我面临的问题是您必须在文件上传配置中定义上传路径,但是当我这样设置时它不起作用:

$config['upload_path'] = 'gs://<bucket-name>/';

我认为是因为 GCS 需要文件名,但 CI 不允许您在上传路径中有文件名。

那我该怎么办?

我应该转向传统的 PHP 上传吗?或者有没有办法解决这个问题?

【问题讨论】:

  • 可以使用上传库将文件上传到本地。这将为您提供有关文件的所有信息,包括文件名/类型等。然后您将通过他们的 API 将其流式传输到谷歌云。
  • App Engine 不允许您写入文件系统。所以必须直接上传到GCS
  • 我明白了,您仍然可以将文件上传到缓冲区中,对吧? move_uploaded_file($FILES['name']['tmp_name'], "gs://") ?
  • 我遇到了该实现的问题,因为当我尝试添加 require 和 use 行时,它不起作用。看到这个 - stackoverflow.com/questions/28769342/… 试图访问 createUploadUrl 会抛出一个致命错误

标签: php codeigniter google-app-engine google-cloud-storage


【解决方案1】:

我认为问题在于您正在设置的配置选项 (upload_path),createUploadUrl 函数 [1] 上没有这样的选项。应该是这样的:

$config['gs_bucket_name'] = 'my_bucket'

无需指定 GCS URI (gs://),只需指定您的存储桶名称

[1]https://cloud.google.com/appengine/docs/php/googlestorage/user_upload#createuploadurl_options

【讨论】:

  • 我发布的配置变量来自 CodeIgniter。
  • 知道了@MrPablo。恐怕你想做的事情是不允许的,请阅读蓝色突出显示的"Important"注。
猜你喜欢
  • 1970-01-01
  • 2018-10-31
  • 2018-12-23
  • 1970-01-01
  • 2017-04-02
  • 2019-11-07
  • 2023-03-13
  • 1970-01-01
  • 2017-03-21
相关资源
最近更新 更多