2016-06-05 16 views
8

Ho implementato un proof-of-concept molto minimale che supporta una parte del protocollo WebDAV. Ciò include i verbi HTTP OPTIONS, PROPFIND e GET. Il client Windows WebDAV integrato (su Windows 8.1) può quindi aprire la condivisione WebDAV, elencare file e directory e spostarsi tra questi.Client WebDAV Windows con trasferimento streaming/Chunked

L'attuazione GET verbo HTTP fornisce la Accept-Ranges (come byte), Content-Length, Content-Type e Transfer-Encoding (come chunked). Quando si apre un file video di grandi dimensioni in un browser, inizierà a essere riprodotto immediatamente mentre sta scaricando il contenuto rimanente. Il client WebDAV integrato di Windows sembra scaricare l'intero file in una posizione temporanea prima che un lettore multimediale possa riprodurre il file. Quando un file è 10 GB, questo farà schifo.

C'è un modo per fornire supporto in modo che il client WebDAV integrato possa leggere gamme di byte per scopi di streaming (immagino che debba solo tradurre per usare Range in qualche modo ...)?

+1

Da una prospettiva dell'app Windows, non è coinvolto HTTP, vede solo un file su DAV come un file su un disco (perché è basato su un driver del kernel di redirector mrxdav.sys che maschera l'implementazione HTTP: http: // blogs.iis.net/robert_mcmurray/webdav-redirector-registry-settings). Dubito che tu possa risolvere il tuo problema e sì, fa schifo. –

+0

@SimonMourier Windows ha la peggiore implementazione DAV mai. –

risposta

0

Sembra che tu abbia fatto tutte le cose giuste per indicare al cliente che lo streaming è possibile e che le richieste di intervallo sono possibili. Quindi se il cliente non risponde, penso che si possa concludere che non supporta queste funzionalità. (che è un disastro totale).