1

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

4

1 回答 1

0

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

于 2012-09-27T23:15:50.827 回答