在Matlab中停止cURL传输

时间:2012-09-27 22:39:07

标签: matlab curl ftp

我编写了一个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中有没有办法取消传输,或者我是否需要让它完成了吗?

1 个答案:

答案 0 :(得分:0)

您可以使用回调设置一个计时器对象,以检查用户是否点击了取消按钮,然后尝试通过不同的dos命令终止该进程。我唯一不喜欢的是整个外部流程cURL,可能很难知道你肯定得到了正确的流程。有没有理由你没有尝试任何Matlab传输命令?