Как получить доступ к значениям полей формы рельсов в инструкциях по сборке transloadit

Я использую transloadit для обработки загрузки изображений с помощью рельсов. Я включил все поля (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 или мне просто нужно иметь скрытое поле ввода, которое устанавливается с правильным значением при отправке формы. Это, я думаю, также позволило бы мне обойти первую проблему, но почему-то это кажется грязным.


person Ferdinand Salis-Samaden    schedule 08.01.2015    source источник


Ответы (1)


вы используете ${unique_original_prefix}, который работает так:

Это похоже на ${unique_prefix}, за исключением того, что два файла, которые кодируют результаты одного и того же загруженного файла (исходного файла), будут иметь здесь одинаковое значение префикса.

А затем для ${unique_prefix}:

Уникальный 33-символьный префикс, используемый для предотвращения конфликтов имен файлов, например «f2/d3eeeb67479f11f8b091b04f6181ad».

Обратите внимание, что обе эти переменные сборки создают подкаталог из двух символов, который вы видите в своих результатах. А остальная часть пути ожидаема.

Если вам нужен уникальный префикс без подпапок, состоящих из двух символов, используйте ${assembly.id} вместо ${unique_original_prefix}.

Что касается бонуса, вы можете просто добавить объект «поля» в параметры сборки (точно так же, как вы добавляете «авторизацию» и «шаги»). Они также будут доступны в виде полей. Например, вы можете добавить свой собственный уникальный префикс, отправив его в этот объект, а затем используя его как ${fields.my_custom_unique_prefix}. Просто убедитесь, что вы используете «my_custom_unique_prefix» в качестве ключа в вашем объекте полей.

С уважением, Тим

Соучредитель Transloadit @tim_kos

person Tim Koschützki    schedule 09.02.2015