проблема с загрузкой изображения в развернутое приложение Azure Cloud - Xamarin - PullRequest
0 голосов
/ 03 апреля 2019

С приведенным ниже кодом я получаю сообщение об ошибке: Когда я публикую этот веб-API на локальном IIS и загрузлю изображение с xamarin на сервер, этот код работает нормально, не получая ошибки, но при публикации облака Azure API я сталкиваюсь с ошибкой ниже. Пожалуйста, помогите мне, если кто-нибудь знает

{StatusCode: 400, ReasonPhrase: 'Bad Request', Версия: 1.1, Содержимое: System.Net.Http.StreamContent, заголовки: {Cache-Control: no-cache Прагма: без кэширования. Сервер: Microsoft-IIS / 10.0. X-AspNet-версия: 4.0.30319 X-Powered-By: ASP.NET Set-Cookie: ARRAffinity = 7c5bdbe4510de6d1a2b16faa5f8c48d98b00f39fe983a5eac89ec12520de616b; Path = /; HttpOnly; Домен = mitsppk.azurewebsites.net Дата: среда, 03 апреля 2019 г. 07:28:08 GMT Истекает: -1 Длина контента: 0}}

Код API:

public async Task<IHttpActionResult> Post()
        { 
            if (!Request.Content.IsMimeMultipartContent("form-data"))
            {              
                return BadRequest();
              }
            string PATH = HttpContext.Current.Server.MapPath("~/assets/ComplaintSystemApp/");           
            CustomMultipartFormDataStreamProvider provider = new CustomMultipartFormDataStreamProvider(PATH);           
            List<string> files = new List<string>();

            try
            {                          
                foreach (MultipartFileData file in provider.FileData)
                {
                    files.Add(Path.GetFileName(file.LocalFileName));                 
                    newstreetLightComplaintImg.ImgPath = files[0];

                }


                return Ok();               
            }
            catch (System.Exception e)
            {
                return BadRequest();

            }
        }

Загрузить изображение из xamarin andriod:

     using (var client = new HttpClient())
        {
      var upfilebytes = File.ReadAllBytes(file);
                var fileContent = new ByteArrayContent(upfilebytes);
       fileContent.Headers.ContentType = 
       MediaTypeHeaderValue.Parse("application/octet-stream");
                fileContent.Headers.ContentDisposition = new 
             ContentDispositionHeaderValue("form-data")
                {
                    Name = "file",
                    FileName = "abc.png"
                };
                string boundary = "---8d0f01e6b3b5dafaaadaad";
  MultipartFormDataContent multipartContent = new 
               MultipartFormDataContent(boundary);
                multipartContent.Add(fileContent);
            var response = await 
 client.PostAsync("http://IPaddress/website/api/Img",multipartContent);
     var responsestr = response.Content.ReadAsStringAsync().Result;
  }
...