使用 Camel 将文件名和文件类型保留在 AWS S3 上传中

Keep the filename and filetype in AWS S3 upload using Camel

作为 AWS 和 S3 的初学者,我尝试使用 apache camel[=11= 将 Sample.txt 文件从本地 sftp 上传到 s3 ]

<route>
        <from uri="sftp://testuser@localhost?password=test&amp;delete=true" />
        <setHeader name="CamelAwsS3Key">
            <constant>test</constant>
        </setHeader>
        <to uri="aws-s3://myTestBucket?accessKey=******&amp;secretKey=RAW(******)&amp;deleteAfterWrite=false&amp;region=AP_SOUTH_1" />
    </route>

这有效,但文件始终以名称 test 上传,并且也未显示类型。 尝试了多种方法。 任何建议都会有所帮助。

传递密钥和使用 SFTP simple 提供的文件名时的问题已解决

<route>
        <from uri="sftp://testuser@localhost?password=test&amp;delete=true" />
        <setHeader name="CamelAwsS3Key">
             <simple>${in.header.camelFileName}</simple>
        </setHeader>
        <to uri="aws-s3://myTestBucket?accessKey=******&amp;secretKey=RAW(******)&amp;deleteAfterWrite=false&amp;region=AP_SOUTH_1" />
    </route>

感谢@gusto2 的支持

此外,您还可以将上传的文件添加到特定文件夹,方法是更改​​ ,

<simple>{foldername}/${in.header.camelFileName}</simple>