4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

お題は不問!Qiita Engineer Festa 2023で記事投稿!

【FileMaker】cURLでファイルをアップロードする

Posted at

前回まで、以下のような記事を残してきました。

今回は、ファイルをファイルサーバーなどにアップロードするケースです。
図にすると、こんな感じですね。
スクリーンショット 2023-07-04 16.18.10.png

なぜかっこ付きで「かしこまり〜」かというと、ちゃんとファイルが置けたらうんともすんとも言わず(成功した場合コードが返ってこない)、なんともツンデレです。

実行環境

前回同様、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 から挿入」に割り当てます。

図解してみました。
スクリーンショット 2023-07-04 16.31.11.png

構文では省きましたが、TLS/SSL通信で行う場合は、cURLオプションの設定で、"--ssl"を追加します。
その他、sftpの場合は、URLを指定する際の通信プロトコル"ftp"を"sftp"に変更してやってみてください。

FTPはユーザー名やパスワードなどの認証情報や転送するデータを暗号化しないで送受信します。
このため、ファイルの盗聴などリスキーと言われています。
TLS/SSLやSFTPなどでより安全にデータの送受信を実装しましょう〜

cURLで外部連携を簡単に

curl文をFileMakerで扱うことで、FileMakerと外部との連携のハードルが下がってきますね。
皆さん日常でもよく使う"https"もファイル転送プロトコルの一つです。
ブラウザで見てた世界をFileMakerに展開したり、お馴染みのpdfやcsv,Excelなどのデータをホストと連携するなど、用途はたくさんありますので、ぜひ活用してみてください。

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?