Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

218
Views
Convertir HttpContent en byte[]

Actualmente estoy trabajando en ac # web API. Para una llamada específica, necesito enviar 2 imágenes usando una llamada ajax a la API, para que la API pueda guardarlas como varbinary (max) en la base de datos.

  1. ¿Cómo se extrae una Image o un byte[] de un objeto HttpContent ?
  2. ¿Cómo hago esto dos veces? Una vez por cada imagen.

-

 var authToken = $("#AuthToken").val(); var formData = new FormData($('form')[0]); debugger; $.ajax({ url: "/api/obj/Create/", headers: { "Authorization-Token": authToken }, type: 'POST', xhr: function () { var myXhr = $.ajaxSettings.xhr(); return myXhr; }, data: formData, cache: false, contentType: false, processData: false });

-

 public async Task<int> Create(HttpContent content) { if (!content.IsMimeMultipartContent()) { throw new UnsupportedMediaTypeException("MIME Multipart Content is not supported"); } return 3; }
over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

HttpContent tiene un método Async que devuelve ByteArray, es decir (Tarea de ByteArray)

 Byte[] byteArray = await Content.ReadAsByteArrayAsync();

Puede ejecutar el método sincrónicamente

 Byte[] byteArray = Content.ReadAsByteArrayAsync().Result;
over 4 years ago · Santiago Trujillo Report

0

if (!content.IsMimeMultipartContent()) { throw new UnsupportedMediaTypeException("MIME Multipart Content is not supported"); } var uploadPath = **whatever**; if (!Directory.Exists(uploadPath)) { Directory.CreateDirectory(uploadPath); } var provider = new MultipartFormDataStreamProvider(uploadPath); await content.ReadAsMultipartAsync(provider); return File.ReadAllBytes(provider.FileData[0].LocalFileName);
over 4 years ago · Santiago Trujillo Report

0

Puede usar HttpContent.ReadAsByteArrayAsync :

 byte[] bytes = await response.Content.ReadAsByteArrayAsync();

O bien, puede leer el contenido con HttpContent.ReadAsStreamAsync y extraerlo a un byte[] desde allí:

 var stream = await response.Content.ReadAsStreamAsync(); using (var memoryStream = new MemoryStream()) { await stream.CopyToAsync(memoryStream); return memoryStream.ToArray(); }
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!