2012-08-16 31 views
7

我需要從大型文件,從映射的WebDAV驅動器中首先讀取256B。閱讀需要,如何從在線大文件中讀取前256字節而無需下載?

我打開文件,

h_second = CreateFileA(second_server, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_FLAG_SEQUENTIAL_SCAN, NULL); 

但它首先下載整個文件,在那之後我可以讀取它。我想要的東西,只是下載文件的一小部分,我讀了。

任何人都可以幫助我嗎?

+0

你試過'fopen()'後面跟着'fread()'嗎? – alk 2012-08-16 12:29:30

+1

@alk:這些是C庫函數。 'fread'的Windows(MSVC)實現會爲你調用'CreateFileA',所以這沒有什麼區別。 – MSalters 2012-08-16 12:40:53

+0

當我調用CreateFileA或fopen時,它首先下載整個文件,然後可以使用fread或ReadFile讀取... – FrUh 2012-08-16 14:08:03

回答

2

WebDAV是一個擴展HTTP,和HTTP已經有一個range request.

+0

如何更改該範圍?這不是WebClient服務的問題?因爲我正在使用網絡映射驅動器.. – FrUh 2012-08-16 14:09:53

+0

我認爲這一點MSalters試圖做的是,你將不得不直接訪問WebDAV服務器使用HTTP,如使用WinInet或WinHTTP API,而不是使用映射的驅動器。 – 2012-08-16 20:16:36

+0

好的,謝謝我使用WinHTTP,發送請求並接收所需的256字節 – FrUh 2012-08-23 09:18:45

1

WebDAV是一個擴展HTTP,和HTTP已經有一系列請求。 我不認爲解決這個問題很重要。

include abc.def.c

相關問題