S3 jQuery objectProperties 文件(密钥)命名和路径?

S3 jQuery objectProperties file (key) naming and path?

我有一个 S3 + jQuery 设置到我自己的存储桶的工作实现。我注意到的一个问题是默认创建的对象默认为文件的 UUID 名称,而不是原始文件名。调整我的请求以包含 objectProperties 键 "filename" 解决了这个问题,但它只会上传到我的存储桶的根目录。我知道 S3 和对象存储缺乏真正的目录结构,它只是一个大桶,但是引用 bucketname/somepath/filename.jpg 等对象的能力允许您围绕这个 "pseudo path" 创建代码。我的应用程序现在在 S3 存储桶中执行此操作(并且严重依赖它)。上传文件时是否有任何对象 属性 可用于定义文件路径(本质上是在 S3 中创建该对象的虚拟键路径?)我需要工作流程为:https://mybucketname.s3.amazonaws.com/somefakedirname/anotherfakedirname/photo.jpg.有没有办法用 S3 创建它 API?

是的,您还可以为objectProperties.key option定义一个函数值。例如:

objectProperties: {
   key: function(fileId) {
      return 'dir1/dir2/dir3/' + this.getName(fileId);
   },
}