ServerFileToClient

 

ファイルをコピーする

リッチクライアントのサーバ側からクライアントのキャッシュフォルダに指定されたファイルをコピーします。

構文:

ServerFileToClient(ファイル名)

パラメータ:

  • ファイル名 …… サーバ側のファイルの名前。パスが指定されなかったり相対パスが指定された場合、アプリケーションのフォルダがカレントとして扱われます。

ワイルドカードやフォルダ名(末尾に'\'を設定)を指定することで、クライアントに複数のファイルを送ることができます(サポートバージョン:2.4)。フォルダを指定した場合は、フォルダ内のファイルだけで、サブフォルダはコピーされません。

戻り値:

文字型 …… コピーされたクライアント側のファイル名。サーバ側のパス名をもとにした名前になるため、変数項目に保存する場合はデータ長を長く定義してください。

(ファイルが見つからないなどの)エラ-が発生した場合、空白が返ります。

パス名やファイル名の「\」や「:」は、「_(アンダーバー)」に変換されます。

例:

ServerFileToClient ('c:\images\my.bmp')  

 

my.bmpファイルをサーバ側のC:\imageフォルダからクライアント側にコピーし、コピー先のフォルダ名+ファイル名を返します。

利用目的:

  • サーバ上の非公開フォルダ上のイメージまたはPDFファイルを表示させたい場合

  • サーバからクライアントへファイルをコピーしたい場合

  • .NETメソッドにサーバリソースを渡したい場合

注意事項:

  • この関数は、リッチクライアントタスク、またはリッチクライアントとして使用するメインプログラムでのみ有効です。

  • ファイルをクライアントへコピーする前に、関数はサーバ上のファイルがクライアント側のキャッシュ内のファイルより新しいかどうか調べるために、リクエストを送ります。ファイルが同じタイムスタンプの場合、関数はファイルをクライアントにコピーしません。

  • 関数が呼び出される度にタイムスタンプの確認を行うため、クライアントに同じファイルを何度も送ろうとすると、低帯域幅のネットワークではパフォーマンスの低下につながるかもしれません。このため、関数は1回だけ実行し、ワイルドカードやフォルダ名を使用することを推奨します。この場合、タイムスタンプのチェックは、1つのリクエストに対して全てのファイルで行われます。更新されたファイルは、個別のリクエストを使用して、後で読み込まれます。

  • Windowsクライアントの場合、キャッシュフォルダは、%TEMP%\MagicxpaRIACache\(ServerName) です。

  • 接続中のデータベースファイルをコピーしようとすると失敗します。DbDiscnt関数やClientDbDiscnt関数を実行して対応するデータベースを予め切断するようにしてください。

モバイル仕様:

  • この関数は、モバイル用の代替イメージを検索するメカニズムを利用して、サーバからクライアントにファイルをコピーします。

  • クライアントがモバイルの場合、Unicodeの名前はサポートされません。

関連トピック:

ClientFileToServer