HttpResponseMessage.Content.Headers ContentDisposition ist null
Beim Herunterladen einer Datei mit HttpClient lade ich zuerst die Header und dann den Inhalt herunter. Wenn Header heruntergeladen werden, wird die Headers-Auflistung in der Content-Eigenschaft von HttpResponseMessage angezeigt. Wenn Sie jedoch über ContentDisposition on Headers darauf zugreifen, erhalten Sie den Wert null
Warum passiert das? Fiddler zeigt, dass Header in Ordnung sind ...
Code:
var responseMessage = await httpClient.GetAsync(uri,
HttpCompletionOption.ResponseHeadersRead).ConfigureAwait(continueOnCapturedContext: false);
Update 1Es sieht so aus, als ob diese Klasse der in beschriebenen Content-Disposition-Implementierung folgtRFC 2616 und kann das Update der Content-Disposition-Implementierung nicht verarbeitenRFC 6266. RFC 2616 definiertfilename
Parameterwert aAnführungszeichen, wo Update RFC 6266 nur angibt, sollte es seinWert.
content-disposition = "Content-Disposition" ":"
disposition-type *( ";" disposition-parm )
disposition-type = "attachment" | disp-extension-token
disposition-parm = filename-parm | disp-extension-parm
filename-parm = "filename" "=" quoted-string
disp-extension-token = token
disp-extension-parm = token "=" ( token | quoted-string )
RFC 6266 Grammatikcontent-disposition = "Content-Disposition" ":"
disposition-type *( ";" disposition-parm )
disposition-type = "inline" | "attachment" | disp-ext-type
; case-insensitive
disp-ext-type = token
disposition-parm = filename-parm | disp-ext-parm
filename-parm = "filename" "=" value
| "filename*" "=" ext-value
disp-ext-parm = token "=" value
| ext-token "=" ext-value
ext-token = <the characters in token, followed by "*">
woext-value = <ext-value, defined in [RFC5987], Section 3.2>
Arbeitsfall
Fehlgeschlagener Fall
Update 2Geöffnet aFahrkarte mit MS verbinden.
Update 3Microsoft hat das anerkanntDas ist ein Fehler und werde es beheben.