0

在我的应用程序中,我们可以将文件上传到服务器。为此,我正在使用 WININET。Stop当用户单击按钮时,我想停止上传过程。现在,如果用户单击stop按钮,正在进行的过程将不会停止上传。如何拒绝上传文件。

4

3 回答 3

3

如果您使用的是 WININET,则需要以几个较小的块发布文件。如果用户按下“取消”,则需要设置一个变量来中止上传。这必须在每次小上传后检查... 可以在此处找到将上传拆分为较小 ppart 的完整示例:http: //support.microsoft.com/kb/177188/en-us 您需要下载“hsrex. exe”文件,然后用 WinZip 或 7-zip 打开它并解压“BigPost.cpp”文件。如果您愿意,我也可以在这里发布代码...

于 2013-07-11T07:14:28.393 回答
1

尝试 CHttpFile::EndRequest() 函数...

另一个想法,尝试终止为上传操作工作的线程

于 2013-07-11T07:16:00.883 回答
0

首先,您需要在工作线程上执行 WinInet 操作,以便释放 UI 以获取“取消”按钮单击。当用户单击取消时,您的 UI 线程应关闭 WinInet 用于上传文件块的句柄。这会导致 WinInet 立即中止当前正在进行的任何上传块。为了在此时干净地退出工作线程,UI 线程应该设置工作线程读取的 bool 'done' 标志,如果设置了,工作线程退出而不是循环上传另一个块。

于 2013-07-12T02:51:55.030 回答