Mantén la atención porque en esta división vas a encontrar el arreglo que buscas.Este artículo fue analizado por nuestros expertos para asegurar la calidad y exactitud de nuestro post.
Solución:
no tienes HttpPostedFileBase
en ASP.NET Core 2.0, pero puede usar IFormFile
.
[HttpPost("UploadFiles")]
public async Task Post(List files)
long size = files.Sum(f => f.Length);
// full path to file in temp location
var filePath = Path.GetTempFileName();
foreach (var formFile in files)
if (formFile.Length > 0)
using (var stream = new FileStream(filePath, FileMode.Create))
await formFile.CopyToAsync(stream);
// process uploaded files
// Don't rely on or trust the FileName property without validation.
return Ok(new count = files.Count, size, filePath);
Más aquí: https://docs.microsoft.com/en-us/aspnet/core/mvc/models/file-uploads?view=aspnetcore-2.1
IFormFile
está en el siguiente espacio de nombres Microsoft.AspNetCore.Http
.
HttpPostedFileBase
no existe en ASP.NET Core. Deberías usar IFormFile
ahora, en cambio. Sin embargo, eso solo funciona cuando envía la solicitud como multipart/form-data
, lo que probablemente no haga si está trabajando con un marco del lado del cliente como React. Si está publicando JSON, debe configurar el miembro JSON que corresponde con la propiedad de su archivo con el archivo codificado como Base64 string. Del lado del servidor, debe enlazar a byte[]
.
Si alguien encuentra esto buscando HttpPostedFileBase
es posible que esté familiarizado con la escritura de métodos de controlador ASP.NET algo como esto:
public async Task DoThing(MyViewModel model, HttpPostedFileBase fileOne, HttpPostedFileBase fileTwo)
//process files here
Si desea escribir un equivalente en ASP.NET Core, puede escribirlo así:
public async Task DoThing(MyViewModel model, IFormFile fileOne, IFormFile fileTwo)
//process files here
es decir, el único cambio necesario para la firma del método es reemplazar HttpPostedFileBase
con IFormFile
. Luego deberá modificar su método para trabajar con el nuevo tipo de parámetro (por ejemplo, HttpPostedFileBase
tiene un InputStream
propiedad, mientras que IFormFile
tiene un OpenReadStream()
método) pero creo que los detalles de esas diferencias están más allá del alcance de esta pregunta.
Calificaciones y reseñas
Si sostienes alguna perplejidad y forma de arreglar nuestro sección puedes escribir una explicación y con deseo lo ojearemos.