簡體   English   中英

C#讀取多部分流

[英]C# Reading multi-part stream

我正在HTTPHandler中讀取多部分的formdata。

我的代碼:

                var content = new StreamContent(context.Request.InputStream);

            //content.Headers.Add("Content-Type", context.Request.ContentType);
            //content.Headers.TryAddWithoutValidation("Content-Type", context.Request.ContentType);
            //content.Headers.TryAddWithoutValidation("Content-Type", "multipart/form-data");
            //content.Headers.Add("Content-Type", "multipart/form-data");
            //content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue(context.Request.ContentType);

            // content.Headers.Remove("Content-Type");
            //content.Headers.Add("Content-Type", context.Request.ContentType);~

            content.Headers.ContentType = System.Net.Http.Headers.MediaTypeHeaderValue.Parse(context.Request.ContentType);
            if (!content.IsMimeMultipartContent())
            {
                return HttpStatusCode.BadRequest;
            }

            var multipart =await content.ReadAsMultipartAsync();

我總是得到:

The format of value 'Content-Type: multipart/form-data; boundary=9fc46...................... is invalid

如果我不嘗試放置內容類型,則會出現另一個錯誤。

注意:注釋行是我嘗試的其他選擇,但沒有結果

工作解決方案:

        var content = (HttpContent)new StreamContent(context.Request.InputStream);
        content.Headers.ContentType = System.Net.Http.Headers.MediaTypeHeaderValue.Parse(context.Request.ContentType);
        var multipart = new MultipartMemoryStreamProvider();
        await content.ReadAsMultipartAsync(multipart);

嘗試使用以下邊界設置MultPartFormDataContent對象並將其發布

var content = new MultipartFormDataContent("---------------" + Guid);

我相信破折號與讀取邊界的方式有關。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM