前回まで、以下のような記事を残してきました。
今回は、ファイルをファイルサーバーなどにアップロードするケースです。
図にすると、こんな感じですね。
なぜかっこ付きで「かしこまり〜」かというと、ちゃんとファイルが置けたらうんともすんとも言わず(成功した場合コードが返ってこない)、なんともツンデレです。
実行環境
前回同様、cURLの扱えるようになったFileMaker Pro ver.16以上でお試しください。
この記事用に作成したサンプルは、FileMaker Pro 19.6.3です。
curlがちょっと不安な方
こちらで、注意点をまとめています。
合わせてご覧ください。
本家curlオプション一覧
Claris FileMakerのヘルプにある、「サポートされている cURL オプション」は必ずチェックしましょう。
今回、この記事で使用しているオプションは、ほんの一例です。
前提
ファイルサーバーなどで、ポートを開けておく設定などはすでに済んでいるものとします。
基本的なアップロードのcurl文
curl -T {fileobject} -u {user}:{pass} ftp://{host}/{file}
"-u"はFTP用に割り振られたユーザ名とパスワードを指定します。
"-T"は、アップロードするファイル自身を指定します。
接続先のアドレスとアップロードするファイルをcurl文に指定することで、目的のファイルをアップロードできます。
ということで、今回必要な情報は、以下になります。
・FTPなどのユーザー名
・FTPなどのパスワード
・接続するサーバーのアドレス
・アップロードするファイル名
・アップロードするファイル
アップロードするファイルは、あらかじめFileMakerのオブジェクトフィールドに格納してあります。
FileMakerのステップに割り当てる
この、curl文をFileMakerの「URL から挿入」に割り当てます。
構文では省きましたが、TLS/SSL通信で行う場合は、cURLオプションの設定で、"--ssl"を追加します。
その他、sftpの場合は、URLを指定する際の通信プロトコル"ftp"を"sftp"に変更してやってみてください。
FTPはユーザー名やパスワードなどの認証情報や転送するデータを暗号化しないで送受信します。
このため、ファイルの盗聴などリスキーと言われています。
TLS/SSLやSFTPなどでより安全にデータの送受信を実装しましょう〜
cURLで外部連携を簡単に
curl文をFileMakerで扱うことで、FileMakerと外部との連携のハードルが下がってきますね。
皆さん日常でもよく使う"https"もファイル転送プロトコルの一つです。
ブラウザで見てた世界をFileMakerに展開したり、お馴染みのpdfやcsv,Excelなどのデータをホストと連携するなど、用途はたくさんありますので、ぜひ活用してみてください。