首页 > 解决方案 > 如何在谷歌存储中创建文件夹?灵药

问题描述

这是有效的,但只有文件是在根目录而不是文件夹中创建的

 {:ok, object} = GoogleApi.Storage.V1.Api.Objects.storage_objects_insert_simple(
      conn,
      bucket_id,
      "multipart",
      %{name: Path.basename(file_path)},
      file_path
    )

标签: elixirphoenix-framework

解决方案


name参数应该是完整的文件夹加上要存储在您的存储桶中的文件名;您只发送basename(file_path),这是上传的文件名。

一些提示:

  • 我说“文件夹”,即使 Goolge 存储显示存储的对象就像它们在文件夹中一样,它实际上只是一个键值对象存储
    • 你的代码应该设置文件的完整路径 - 不要让用户输入设置它
  • 注意 API 如何期望参数编码,通常由这个库为您处理
  • 您需要mime_type在上传时发送正确的对象元数据,或者从浏览器下载它会导致它仅作为二进制文件发送

推荐阅读