我编写了一个Matlab GUI,用于自动化与ftp服务器之间的数据传输,这是使用cURL完成的,例如。
str = sprintf(' "%s" -O "ftp://%s:%s@%s" -Q "CWD %s%s/" ', ...
handles.curl, username, password, ...
strcat(ftpname, d{1}), '/users/', username);
% Try to transfer file until successful (s=0)
s = 1;
while s ~= 0
s = dos(str);
end
通常,此GUI将在慢速网络上运行,因此传输50 MB文件最多可能需要30分钟或更长时间。
我想知道的是,如果在数据传输过程中在GUI上按下“停止”按钮,cURL中有没有办法取消传输,或者我是否需要让它完成了吗?
答案 0 :(得分:0)
您可以使用回调设置一个计时器对象,以检查用户是否点击了取消按钮,然后尝试通过不同的dos
命令终止该进程。我唯一不喜欢的是整个外部流程cURL,可能很难知道你肯定得到了正确的流程。有没有理由你没有尝试任何Matlab传输命令?