89.8. Put (アップロード) 操作

Dropbox にファイルをアップロードします。

キャメルプロデューサーとして活動。

以下に、この操作のオプションを示します。

プロパティー必須説明

uploadMode

true

add または force このオプションは、ドロップボックスにファイルを保存する方法を指定します。追加の場合、同じ名前のファイルがドロップボックスにすでに存在する場合、新しいファイルの名前が変更されます。強制の場合、ドロップボックスに同名のファイルがすでに存在する場合、上書きされます。

localPath

false

ローカルファイルシステムから Dropbox にアップロードするフォルダーまたはファイル。このオプションが設定されている場合、Camel メッセージ本文のコンテンツを含む単一のファイルとしてアップロードするよりも優先されます (メッセージ本文はバイト配列に変換されます)。

remotePath

false

Dropbox 上のフォルダーの宛先。プロパティーが設定されていない場合、コンポーネントはローカルパスと同じリモートパスにファイルをアップロードします。Windows を使用する場合、または絶対 localPath を使用しない場合、次のような例外が発生する可能性があります。

Caused by: java.lang.IllegalArgumentException: 'path': bad path: must start with "/": "C:/My/File"
OR
Caused by: java.lang.IllegalArgumentException: 'path': bad path: must start with "/": "MyFile"

89.8.1. サンプル

from("direct:start").to("dropbox://put?accessToken=XXX&clientIdentifier=XXX&uploadMode=add&localPath=/root/folder1")
  .to("mock:result");

from("direct:start").to("dropbox://put?accessToken=XXX&clientIdentifier=XXX&uploadMode=add&localPath=/root/folder1&remotePath=/root/folder2")
  .to("mock:result");

メッセージボディーのコンテンツを含む単一のファイルをアップロードするには

from("direct:start")
   .setHeader(DropboxConstants.HEADER_PUT_FILE_NAME, constant("myfile.txt"))
   .to("dropbox://put?accessToken=XXX&clientIdentifier=XXX&uploadMode=add&remotePath=/root/folder2")
   .to("mock:result");

ファイルの名前は、優先順位に従ってヘッダー DropboxConstants.HEADER_PUT_FILE_NAME または Exchange.FILE_NAME に指定できます。ヘッダーが指定されていない場合、メッセージ ID (uuid) がファイル名として使用されます。

89.8.2. 結果メッセージのヘッダー

メッセージの結果には、次のヘッダーが設定されます。

プロパティー

UPLOADED_FILE

単一ファイルのアップロードの場合、アップロードされたリモートパスのパス

UPLOADED_FILES

複数のファイルをアップロードする場合は、アップロードされたリモートパスを含む文字列

89.8.3. 結果メッセージボディー

メッセージボディーの結果には、次のオブジェクトが設定されます。

オブジェクトタイプ説明

String

単一ファイルのアップロードの場合、アップロード操作の結果、OK または KO

Map<String, DropboxResultCode>

複数のファイルをアップロードする場合は、アップロードされたリモートファイルのパスをキーとして、アップロード操作の結果を値として持つマップ、OK または KO