-Pでポート指定ですかね?
一度ご指摘いただいたcmdを使用してチャレンジしてみます!
curlオプションについては、FileMakerの上で試行錯誤するよりも、
まずコマンドプロンプトなどでcurlをいろんなオプションで試してみて、うまくいったらそれをFileMakerに移植する、
というやり方の方が早いですね。
curlでのFTP送信ではディレクトリの作成ができており、認証もできておりますが、画像データの送信の際に接続ができないと表示されます。
pleskのサーバーの契約を必須としていた事業者へ問い合わせたところデフォルト状態ではパッシブモードでのデータ転送が不可との返答があり
上で私が考察した『パッシブでのデータ送信は可能だった』は見当違いだったようです。
プラグインではデータが転送できていることからほかにも要因があるのではと探っておりますが、何分無知ですので勉強しながらとなります。
現段階でめぼしをつけているのは『バイナリーモードでのデータ転送』でしょうか?
Filemakerやそのほかの機能を知れば知るほどとても奥が深く、とても楽しいです。
ちなみにFTPによる転送がうまくいっている場合、
229 Entering Extended Passive Mode
というヘッダが返ってきています。
pleskという環境はパッシブモードが使えないとか?
それ以前に、サンプルでは西郷どんさんのお使いの環境では接続すらできませんか?
1)接続すらできない
2)ログインができない
3)データ転送ができない
1)ですと、curl以前の問題かと
]]>結局プラグインを使ってFTPのアップに関しては実装してみました。
知識不足の為、判断はしかねますがパッシブでのデータ送信の際はプラグインでの送信ができましたので
curlの処理について勉強しなおしてみます。
サンプルデータありがとうございました。
接続はできませんでしたが、サーバー側での指定などがあるのかもしれませんね...(勉強不足の為わかりませんが;;
koeda様・qb_dp様にはたくさんの知識を頂いたのにも関わらず、最終的には完成せず申し訳ないです。
結果的に自分の不足している知識が明確になったので、とりあえずは解決とさせていただきました。
このまま試行錯誤しながら課題がクリアできれば報告にあがります。
ありがとうございました。
ダウンロードの場合は、サーバから転送されてくるファイルの格納先としてターゲットを指定します。
いっぽう、アップロードの場合、サーバからレスポンスとして転送されてくるファイルは無いので、
ターゲットには何も戻りません。
(だから私のサンプルのようにターゲットを指定しても無意味ですね)
ダウンロード/アップロードともにレスポンスヘッダは返ってきます。
それはcurlオプションで指定した変数に格納されます。
ご教示いただきましたcURLオプションを使用してみましたが、戻り値が取得できず...
何かが根本的に間違っているのかも?(なぜディレクトリは作成されるのかは不明だが...
まだまだ初心者のため、少し時間がかかりそうです;;
koeda様
ご指摘いただいた通りこちらは現在変数に置き換えております。
ですが戻り値は上記のように...
どなたかcurlオプションを使用したFTP送信関連のサンプルファイルがございましたらいただければ幸いです...
]]>URLから挿入[選択;ダイアログあり:オフ;オブジェクトフィールド;$url;cURL オプション:$curl;URLを自動的にエンコードしない]
ターゲットに「オブジェクトフィールド」を指定しているようですが、
これはftpサーバーからの結果を受け取るフィールドまたは変数を指定するのでは?
(アップロードできない原因ではないと思いますが)
--show-error --dump-header $$responseHeaders
を追加しておけば、$$responseHeaders で戻り値が確認できるので原因が分かるかもしれません。
]]>ファイル名でエラーになっているとか?
]]>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を付け足してみましたが『接続できませんでした』のエラーが出ます。
]]>