初心者のFileMaker pro Q&A (旧掲示板)

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#1 2019-10-07 13:39:58

データのFTP送信について

いつもお世話になっております。

pleskサーバーへデータの送信ができるように、他のご質問者様へのみなさんの回答などを参考に
試行錯誤してみたところ、ディレクトリの作成まではできるのですが
肝心の画像データが作成されません。

間違いなどがあればご教授いただければ幸いです。

スペック:fmp16 win10

変数を設定[$ホスト名;値:"host.jp"]
変数を設定[$ディレクトリ;値:"/httpdocs/itempic/"]
変数を設定[$ファイル名;値:品番フィールド]
変数を設定[$file;値:オブジェクトフィールド]

変数を設定[$url;値:"ftp://" & $ホスト名 & $ディレクトリ & $ファイル名]
変数を設定[$curl;値:"-u " &  "user:pass" & " --ftp-create-dirs " & " -T $file"]

URLから挿入[選択;ダイアログあり:オフ;オブジェクトフィールド;$url;cURL オプション:$curl;URLを自動的にエンコードしない]


・変数の$urlに$fileを付け足してみましたが『接続できませんでした』のエラーが出ます。

Offline

#2 2019-10-07 17:20:24

qb_dp
Member

Re: データのFTP送信について

スクリプト的には大丈夫な様に見えますが...

ファイル名でエラーになっているとか?

Offline

#3 2019-10-07 17:32:15

qb_dp
Member

Re: データのFTP送信について

cURLオプションに

--show-error --dump-header $$responseHeaders

を追加しておけば、$$responseHeaders で戻り値が確認できるので原因が分かるかもしれません。

Offline

#4 2019-10-07 18:03:58

koeda
Member

Re: データのFTP送信について

西郷どん@初心者 wrote:

URLから挿入[選択;ダイアログあり:オフ;オブジェクトフィールド;$url;cURL オプション:$curl;URLを自動的にエンコードしない]

ターゲットに「オブジェクトフィールド」を指定しているようですが、
これはftpサーバーからの結果を受け取るフィールドまたは変数を指定するのでは?
(アップロードできない原因ではないと思いますが)

Offline

#5 2019-10-07 19:29:34

Re: データのFTP送信について

qb_dp様
ファイル名に関してはimgから始まる乱数が設定されております。(ユニーク値)

ご教示いただきましたcURLオプションを使用してみましたが、戻り値が取得できず...
何かが根本的に間違っているのかも?(なぜディレクトリは作成されるのかは不明だが...
まだまだ初心者のため、少し時間がかかりそうです;;

koeda様
ご指摘いただいた通りこちらは現在変数に置き換えております。
ですが戻り値は上記のように...

どなたかcurlオプションを使用したFTP送信関連のサンプルファイルがございましたらいただければ幸いです...

Offline

#6 2019-10-08 08:11:12

koeda
Member

Re: データのFTP送信について

サンプルを作成してみました。
qb_dpさんのアドバイスに従って、$$responseHeadersの値を結果欄に表示するようにしてみました。

https://www.dropbox.com/s/2p3tpfrn9chbc … fmp12?dl=0

Last edited by koeda (2019-10-08 08:11:54)

Offline

#7 2019-10-08 11:34:18

koeda
Member

Re: データのFTP送信について

「URLから挿入」ステップのターゲットについて補足です。

ダウンロードの場合は、サーバから転送されてくるファイルの格納先としてターゲットを指定します。

いっぽう、アップロードの場合、サーバからレスポンスとして転送されてくるファイルは無いので、
ターゲットには何も戻りません。
(だから私のサンプルのようにターゲットを指定しても無意味ですね)

ダウンロード/アップロードともにレスポンスヘッダは返ってきます。
それはcurlオプションで指定した変数に格納されます。

Last edited by koeda (2019-10-08 11:35:07)

Offline

#8 2019-10-08 13:31:41

Re: データのFTP送信について

koeda様

サンプルデータありがとうございました。
接続はできませんでしたが、サーバー側での指定などがあるのかもしれませんね...(勉強不足の為わかりませんが;;
koeda様・qb_dp様にはたくさんの知識を頂いたのにも関わらず、最終的には完成せず申し訳ないです。
結果的に自分の不足している知識が明確になったので、とりあえずは解決とさせていただきました。
このまま試行錯誤しながら課題がクリアできれば報告にあがります。
ありがとうございました。

Offline

#9 2019-10-08 17:18:47

Re: データのFTP送信について

koeda様 qb_dp様

結局プラグインを使ってFTPのアップに関しては実装してみました。
知識不足の為、判断はしかねますがパッシブでのデータ送信の際はプラグインでの送信ができましたので
curlの処理について勉強しなおしてみます。

Offline

#10 2019-10-09 10:45:12

koeda
Member

Re: データのFTP送信について

作成したサンプルは、私の手元のテスト環境ではもちろんうまく動作しているのですが…

ちなみにFTPによる転送がうまくいっている場合、
229 Entering Extended Passive Mode
というヘッダが返ってきています。
pleskという環境はパッシブモードが使えないとか?

それ以前に、サンプルでは西郷どんさんのお使いの環境では接続すらできませんか?
1)接続すらできない
2)ログインができない
3)データ転送ができない

1)ですと、curl以前の問題かと

Offline

#11 2019-10-09 15:51:25

Re: データのFTP送信について

koeda様

curlでのFTP送信ではディレクトリの作成ができており、認証もできておりますが、画像データの送信の際に接続ができないと表示されます。
pleskのサーバーの契約を必須としていた事業者へ問い合わせたところデフォルト状態ではパッシブモードでのデータ転送が不可との返答があり
上で私が考察した『パッシブでのデータ送信は可能だった』は見当違いだったようです。

プラグインではデータが転送できていることからほかにも要因があるのではと探っておりますが、何分無知ですので勉強しながらとなります。
現段階でめぼしをつけているのは『バイナリーモードでのデータ転送』でしょうか?
Filemakerやそのほかの機能を知れば知るほどとても奥が深く、とても楽しいです。

Offline

#12 2019-10-10 09:15:12

koeda
Member

Re: データのFTP送信について

お使いのサーバでパッシブモードでの転送が不可なのであれば、-Pオプションでアクティブモードでの転送を指定する必要があります。

curlオプションについては、FileMakerの上で試行錯誤するよりも、
まずコマンドプロンプトなどでcurlをいろんなオプションで試してみて、うまくいったらそれをFileMakerに移植する、
というやり方の方が早いですね。

Offline

#13 2019-10-10 15:47:18

Re: データのFTP送信について

koeda様

-Pでポート指定ですかね?
一度ご指摘いただいたcmdを使用してチャレンジしてみます!

Offline

Registered users online in this topic: 0, guests: 1
[Bot] claudebot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.008 seconds, 10 queries executed - Memory usage: 548.55 KiB (Peak: 569.45 KiB) ]