1

我正在使用transloadit处理带有 rails 的图像上传。我已包含所有字段 ( fields: "*"),因此它们与参数一起提交。我现在想在汇编指令中使用它们来重命名文件。请参阅说明的相关摘录,

"export": {
    "use": [
        "base",
        "large",
        "medium",
        "thumb"
      ],
    "robot": "/s3/store",
    "key": "********",
    "secret": "********",
    "bucket": "********",
    "path": "${unique_original_prefix}/${previous_step.name}/${fields.coach[name]}.${file.ext}"
}

但是,这不起作用。结果文件是,

5e
  /f88480973a11e49ecf65da10504cf1
    /base
       /.jpg
    /large
       /.jpg
    /medium
       /.jpg
    /thumb
       /.jpg

我究竟做错了什么?

奖励: 还有一种方法可以使用 transloadit 参数化字段值,或者我应该只有一个隐藏的输入字段,在提交表单时设置正确的值。我想这也可以让我绕过第一个问题,但不知何故感觉很脏。

4

1 回答 1

2

您正在使用 ${unique_original_prefix},其工作方式如下:

这与 ${unique_prefix} 类似,不同之处在于,作为同一上传文件(原始文件)的编码结果的两个文件将在此处具有相同的前缀值。

然后对于 ${unique_prefix}:

用于避免文件名冲突的唯一 33 个字符前缀,例如“f2/d3eeeb67479f11f8b091b04f6181ad”</p>

请注意这两个汇编变量将如何创建一个两个字符的子目录,您会在结果中看到它。其余的路径是预期的。

如果您想要一个没有两个字符子文件夹的唯一前缀,请使用 ${assembly.id} 而不是 ${unique_original_prefix}。

关于奖金,您可以在程序集参数中添加一个“字段”对象(就像您添加“auth”和“steps”一样)。这些也将作为字段提供。例如,您可以通过在该对象中发送它来添加您自己的唯一前缀,然后将其用作 ${fields.my_custom_unique_prefix}。只需确保使用“my_custom_unique_prefix”作为字段对象中的键。

亲切的问候,蒂姆

联合创始人 Transloadit @tim_kos

于 2015-02-09T09:52:13.697 回答