2013-07-11 5 views
0

내 응용 프로그램에서는 업로드 파일을 서버에 업로드 할 수 있습니다. 이를 위해 나는 WININET을 사용하고 있습니다. 사용자가 Stop 버튼을 클릭하면 업로드 프로세스를 중단하고 싶습니다. 이제 사용자가 stop 버튼을 클릭하면 진행중인 프로세스가 업로드를 중단하지 않습니다. 파일 업로드를 거부하려면 어떻게해야합니까?vc에서 진행중인 업로드를 중지하는 방법

+0

몇 가지 코드를 제시해야합니다. 어떤 기능을 부르셨습니까? 비동기 모드입니까? 또한 부분 업로드의 경우 어떻게됩니까? 서버가 파일을 무효로 무시하는 것을 알고 있습니까? 부분 파일 삭제를 처리하는 코드를 작성해야합니까? –

답변

3

WININET을 사용하는 경우 몇 개의 작은 청크로 파일을 게시해야합니다. Use가 "Cancel"을 누르면 업로드를 중단하도록 변수를 설정해야합니다. 각 작은 업로드가 끝날 때마다 확인해야합니다 ... 더 작은 pparts로 업로드하는 분할의 전체 예제는 여기에서 찾을 수 있습니다. http://support.microsoft.com/kb/177188/en-us "hsrex.exe"파일을 다운로드 한 다음 WinZip 또는 7-zip으로 열어야합니다 "BigPost.cpp"파일의 압축을 풉니 다. 당신이 원하는 경우에도 내가 ...

1

가 CHttpFile :: 대해 EndRequest() 함수를 시도 ... 여기

또 다른 아이디어를 코드를 게시 할 수 있습니다, 업로드 작업

0

근무 스레드를 종료하려고 먼저 작업 스레드에서 WinInet 작업을 수행해야 UI가 해제되어 취소 단추를 클릭 할 수 있습니다. 사용자가 취소를 클릭하면 UI 스레드는 WinInet에서 파일 청크를 업로드하는 데 사용되는 핸들을 닫아야합니다. 이로 인해 WinInet은 현재 진행중인 모든 업로드 청크를 즉시 중단합니다. 이 시점에서 작업자 스레드를 정상적으로 종료하려면 UI 스레드는 작업자 스레드가 읽는 bool 'done'플래그를 설정해야하며, 설정된 경우 작업자 스레드는 루프 대신 다른 청크를 업로드하기 위해 종료합니다.

관련 문제