90.8. 放置(上传)操作
上传 Dropbox 上的文件。
作为 Camel producer 工作。
下面列出了此操作的选项:
属性 | 必需 | 描述 |
---|---|---|
|
| 添加或强制此选项指定在 dropbox 上应如何保存文件:如果 dropbox 上已存在具有相同名称的文件,则会重命名新文件。如果 dropbox 上已存在具有相同名称的文件,则这将被覆盖。 |
|
| 文件夹或文件,以在本地文件系统上上传 Dropbox。如果已经配置了这个选项,则优先于将内容上传为单个文件,其中包含来自 Camel 消息正文的内容(消息正文将转换为字节数数组)。 |
|
| Dropbox 上的文件夹目的地。如果没有设置属性,则组件将在与本地路径相等的远程路径中上传该文件。对于 Windows 或没有绝对 localPath,您可以运行类似如下的例外:
原因原因:java.lang.IllegalArgumentException: 'path': bad path: must start with "/": "C:/My/File" |
90.8.1. Samples
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)作为文件名。
90.8.2. 结果消息标头
在消息结果上设置以下标头:
属性 | value |
---|---|
| 如果单个文件上传,则远程路径的路径上传 |
| 如果有多个文件上传,则上传了远程路径的字符串 |
90.8.3. 结果消息正文
以下对象在消息正文结果上设置:
对象类型 | 描述 |
---|---|
| 如果单个文件上传,则上传操作( OK 或 KO) |
| 如果有多个文件上传,使用 作为上传远程文件的路径的映射,以及上传操作的结果( OK 或 KO)的结果 |