我正在尝试使用sftp出站网关从远程sftp服务器下载文件。这是网关配置:
override func layoutSubviews() {
cardSetup();
}
func cardSetup(){
self.cardView.layer.masksToBounds = false;
self.cardView.layer.cornerRadius = 4; // if you like rounded corners
//%%% This is a little hard to explain, but basically, it lowers the performance required to build shadows. If you don't use this, it will lag
var path: UIBezierPath = UIBezierPath(roundedRect: self.cardView.layer.bounds, cornerRadius: 4)
self.cardView.layer.shadowPath = path.CGPath
self.cardView.layer.shadowOffset = CGSizeMake(-0.4, 0.4); //%%% this shadow will hang slightly down and to the right
self.cardView.layer.shadowRadius = 1;
self.cardView.layer.shadowOpacity = 0.2;
}
如果已存在同名的本地文件,我想将其替换为新下载的文件。这就是我将模式设置为" REPLACE"的原因。相反,我得到一个例外:
<int-sftp:outbound-gateway id="downloadGateway"
command="get"
command-options="-P"
expression="payload.remoteDirectory + payload.filename"
session-factory="cachingSessionFactory"
local-directory="downloads"
auto-create-directory="true"
use-temporary-file-name="true"
mode="REPLACE"
local-filename-generator-expression="#remoteFileName + '.' + @currentDate.getDateStr()"
/>
我是否正确假设当网关与put命令一起使用时,mode属性适用于远程文件?有没有办法让我用sftp出站网关实现我正在寻找的行为?
答案 0 :(得分:0)
有趣;你的是本周的第二个请求。
目前,除了自己删除文件(或将文件提取到临时目录,然后使用文件出站适配器移动它们 - 其中 提供替换模式)之外,没有其他解决办法
我前几天打开JIRA Issue添加此功能。
实际上,网关上存在mode
属性是一个错误,目前已被忽略。
答案 1 :(得分:0)
它是一个旧线程,但如果您正在寻找模式的有效值,这里它们是(参考:org.springframework.integration.file.support.FileExistsMode):
var request;
// ..
if (request) { abort(request); request = null; }
request = firebase.database().ref("item1/").once("value", callback);