在我的应用程序中,我们可以将上传文件上传到服务器。为此,我使用WININET。我想在用户点击Stop
按钮时停止上传过程。现在,如果用户点击stop
按钮,则正在进行的过程不会停止上传。如何拒绝上传文件。
答案 0 :(得分:3)
如果您使用的是WININET,则需要将文件分成几个较小的块。如果用户按“取消”,则需要设置变量以中止上传。每次小型上传后都必须检查... 可以在此处找到拆分上传到较小ppart的完整示例: http://support.microsoft.com/kb/177188/en-us 您需要下载“hsrex.exe”文件,然后使用WinZip或7-zip打开它并解压缩“BigPost.cpp”文件。我也可以在这里发布代码,如果你想...
答案 1 :(得分:1)
尝试CHttpFile :: EndRequest()函数......
另一个想法是,尝试终止用于上传操作的线程
答案 2 :(得分:0)
首先,您需要在工作线程上执行WinInet操作,以便释放UI以单击“取消”按钮。当用户单击“取消”时,UI线程应关闭WinInet使用的句柄以上载文件块。这会导致WinInet立即中止当前正在进行的任何上传块。要在此时干净地退出工作线程,UI线程应该设置工作线程读取的bool' done'标志,如果设置了,则工作线程退出而不是循环以上载另一个块。