[Herokuアドオン]TransloaditでFTPアップロード
アップロード先をFTPに指定する方法と、
その内容をテンプレート化するまでのメモ。
steps
内のrobot
で、/ftp/store
を指定する。
詳しいパラメータは以下。
6.3 Export to your FTP Server with the /ftp/export robot
設定ファイル部分は以下のようにした。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
フォームから入力されたファイルがアップロードされる。
-
export
:ここは名前をつけているだけなので、なんでもよい。 use
:どの時点のファイルを使用するか。:original
だとオリジナルのファイル。複数のパターンを指定する場合は配列で指定する。
ただし、その場合、パスは1つしか指定出来ないので、後に書いたほうが上書きされる。
(2つ書かないといけないと思われる)user
:ユーザー名password
:パスワードhost
:ホストpath
:保存先のパス。ファイル名まで指定しないといけない
ファイル名は、${file.url_name}
と指定することで、ユーザーが選択したファイル名でアップロード出来る。
この書き方の種類は以下にあった。
https://transloadit.com/docs/conversion-robots/#available-job-variables
実行後は即時にアップロードされるわけではなく、多少の処理が必要になるよう。
なので実際にはキューを出している状態。
数秒後にサーバー上にアップロードが行われる。
なので、クライアント側で完了を検知するには、transloaditから通知させるか(まだよくわかってない)、
定期的に確認しにいくか、などの処理が必要と思われる。
テンプレート化
上記の設定内容をテンプレート化して保存してみる。
テンプレート化することによってアカウント情報などをソース上から分離出来、セキュリティを高める効果があるよう。
herokuのアドオンからtranloaditの管理画面に遷移後、TEMPLATES
を選択。
+NES
をクリック。
で、以下のようにテンプレートを作成する。
1 2 3 4 5 6 7 8 9 10 11 12 |
|
適当に名前をつけて保存。
保存後、テンプレートの一覧画面から、IDを確認できるようになるので、これを覚えておく。
で、このIDを使用して以下のように書き換える。
1 2 3 4 5 6 |
|
これで実行すると上記のテンプレートが使用されて、FTPアップロードが行われる。
テンプレートを使用してアップロードした場合は、結果のリストにもその旨が表示される。
コード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
|
参考
Store the originally uploaded files on your FTP server | Transloadit
How to use a template
Available job variables