如何在 google 存储中创建文件夹?长生不老药
how to create a folder in google storage? Elixir
这是有效的,但只有文件是在根目录而不是文件夹中创建的
{:ok, object} = GoogleApi.Storage.V1.Api.Objects.storage_objects_insert_simple(
conn,
bucket_id,
"multipart",
%{name: Path.basename(file_path)},
file_path
)
name
参数应该是 完整 文件夹加上要存储在您的存储桶中的文件名;您只发送 basename(file_path)
,这是上传的文件名。
一些提示:
- 我说“文件夹”,尽管 Goolge 存储显示存储的对象就好像它们在文件夹中一样,它实际上只是一个键值对象存储
- 你的代码应该设置文件的完整路径——不要让用户输入设置它
- 注意 API 对 encoding of parameters 的期望,这通常由该库为您处理
- 不幸的是 a bug 是在 v0.23 中引入的(并且至少存在于 v0.26 中),他们没有正确编码最终路径参数
- 上传时,您需要在对象的元数据中发送正确的
mime_type
,否则从浏览器下载它会导致它仅作为二进制文件发送
这是有效的,但只有文件是在根目录而不是文件夹中创建的
{:ok, object} = GoogleApi.Storage.V1.Api.Objects.storage_objects_insert_simple(
conn,
bucket_id,
"multipart",
%{name: Path.basename(file_path)},
file_path
)
name
参数应该是 完整 文件夹加上要存储在您的存储桶中的文件名;您只发送 basename(file_path)
,这是上传的文件名。
一些提示:
- 我说“文件夹”,尽管 Goolge 存储显示存储的对象就好像它们在文件夹中一样,它实际上只是一个键值对象存储
- 你的代码应该设置文件的完整路径——不要让用户输入设置它
- 注意 API 对 encoding of parameters 的期望,这通常由该库为您处理
- 不幸的是 a bug 是在 v0.23 中引入的(并且至少存在于 v0.26 中),他们没有正确编码最终路径参数
- 上传时,您需要在对象的元数据中发送正确的
mime_type
,否则从浏览器下载它会导致它仅作为二进制文件发送