如何在HttpResponseMessage.Content.Headers.ContentType中显示图像

问题描述

我有一种返回图像的方法。如下:

string fullName = dt.Rows[0]["FileName"].ToString();
                string directoryPath = MyFileMultipartFormDataStreamProvider.GetMyFileDirectory();

                var myFilePath = Path.Combine(directoryPath,fullName);
                using (FileStream fileStream = new FileStream(myFilePath,FileMode.Open))
                {
                    using (var memoryStream = new MemoryStream())
                    {
                        fileStream.copyTo(memoryStream);

                        HttpResponseMessage result = new HttpResponseMessage(HttpStatusCode.OK);
                        result.Content = new ByteArrayContent(memoryStream.ToArray());
                        result.Content.Headers.ContentType = new MediaTypeHeaderValue("image/png");

                        return result;
                    }
                }

如何在asp.net mvc cshtml页面显示图像?

Postman is ok (image).

解决方法

我如下解决了

byte[] mybytearray = null;
        using (var client = new HttpClient())
        {
            client.BaseAddress = new Uri(URI);

            client.DefaultRequestHeaders
                  .Accept
                  .Add(new MediaTypeWithQualityHeaderValue("image/png"));

            HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get,"");
            try
            {
                Task<HttpResponseMessage> getResponse = client.SendAsync(request);
                HttpResponseMessage response = new HttpResponseMessage();
                response = await getResponse;
                
                if (response.IsSuccessStatusCode)
                {
                    mybytearray = response.Content.ReadAsByteArrayAsync().Result;
                }

                var responseJsonString = await response.Content.ReadAsStringAsync();
                System.Diagnostics.Debug.WriteLine(responseJsonString);
                System.Diagnostics.Debug.WriteLine("GetReportImage ReponseCode: " + response.StatusCode);
            }
            catch (Exception ex)
            {
                
            }
        }