90.8. 放置(上传)操作


在 Dropbox 上上传文件。

作为 Camel producer。

下面列出了此操作的选项:

属性Mandatory(必需)描述

uploadMode

true

添加或强制此选项指定在 dropbox 上如何保存文件:如果"添加",则如果 dropbox 上已存在具有相同名称的文件,则将重命名新文件。如果 dropbox 上已存在具有相同名称的文件,这将会被覆盖。

localPath

false

从本地文件系统上上传至 Dropbox 的文件夹或文件。如果已经配置了这个选项,则优先于将具有 Camel 消息正文内容的单个文件上传优先级(消息正文将转换为字节数组)。

remotePath

false

Dropbox 上的文件夹目的地.如果没有设置属性,则组件将在与本地路径相同的远程路径上上传文件。对于 Windows 或没有绝对 localPath,您可能会遇到类似如下的异常:

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

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_NAMEExchange.FILE_NAME 中按优先级顺序提供。如果没有提供标头,则会将消息 id (uuid)用作文件名。

90.8.2. 结果消息标头

在消息结果中设置以下标头:

属性

UPLOADED_FILE

如果上传单个文件,则上传的远程路径的路径

UPLOADED_FILES

如果上传多个文件,则通过远程路径上传字符串

90.8.3. 结果消息正文

在消息正文结果上设置以下对象:

对象类型描述

字符串

如果上传单个文件,则上传操作的结果,OK 或 KO

Map<String, DropboxResultCode>

如果上传多个文件,则使用 作为键的映射,作为上传的远程文件的路径,以及上传操作结果的值、OK 或 KO

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.