Загрузка файлов непосредственно в определенную папку на FTP-сервере с помощью Spring Spring
У меня, я полагаю, действительно новый вопрос, но дело в том, что я новичок в весенних рамках. Как я могу загрузить файлы, например, в папку "upload", расположенную в корневом каталоге моего ftp-сервера? Я пробовал это: мой файл контекста приложения:
<bean id="ftpClientFactory"
class="org.springframework.integration.ftp.session.DefaultFtpSessionFactory">
<property name="host" value="127.0.0.1"/>
<property name="username" value="test"/>
<property name="password" value="test"/>
<property name="clientMode" value="0"/>
<property name="fileType" value="2"/>
<property name="bufferSize" value="10000"/>
</bean>
<int:channel id="ftpChannel"/>
<int-ftp:outbound-channel-adapter id="outFtpAdapter"
channel="ftpChannel"
session-factory="ftpClientFactory"
remote-directory="/Users/test"/>
и мой код Java:
ConfigurableApplicationContext context =
new FileSystemXmlApplicationContext("/src/citrus/resources/citrus-context.xml");
MessageChannel ftpChannel = context.getBean("ftpChannel", MessageChannel.class);
File file = new File("/Users/test/test.txt");
Message<File> fileMessage = MessageBuilder.withPayload(file).build();
ftpChannel.send(fileMessage);
context.close();
Но этот пример загружает файлы в корневой каталог. Заранее спасибо.
2 ответа
Решение
Я только что проверил это и работал хорошо:
<int-ftp:outbound-channel-adapter
id="sendFileToServer"
auto-create-directory="true"
session-factory="ftpSessionFactory"
remote-directory="/Users/test"/>
Где мой FTP-сервер встроенный и его корень:
[MY_USER_HOME]\Temp\junit7944189423444999123\FtpServerOutboundTests\
Итак, файл хранится в каталоге:
[MY_USER_HOME]\Temp\junit7944189423444999123\FtpServerOutboundTests\Users\test\
Это с последней версией Spring Integration.
Какая у вас версия?
Использование FTPClient для загрузки MultipartFiles на FTP-сервер apache. Полезное репо. Надеюсь, это поможет в будущем поиске.