aspnetcore/test/WebSites/FilesWebSite/Controllers/UploadFilesController.cs

45 lines
1.3 KiB
C#

// Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System.Linq;
using System.Collections.Generic;
using System.Threading.Tasks;
using FilesWebSite.Models;
using Microsoft.AspNetCore.Mvc;
namespace FilesWebSite.Controllers
{
public class UploadFilesController : Controller
{
[HttpPost("UploadFiles")]
public async Task<IActionResult> Post(User user)
{
var resultUser = new
{
Name = user.Name,
Age = user.Age,
Biography = await user.ReadBiography()
};
return Json(resultUser);
}
[HttpPost("UploadProductSpecs")]
public IActionResult ProductSpecs(Product product)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
var files = new Dictionary<string, List<string>>();
foreach (var keyValuePair in product.Specs)
{
files.Add(keyValuePair.Key, keyValuePair.Value?.Select(formFile => formFile?.FileName).ToList());
}
return Json(new { Name = product.Name, Specs = files });
}
}
}