在ASP.NET Core Web API中,我们可以通过MultipartFileUpload类来实现多文件上传。以下是将多个文件上传到指定目录的示例代码:
using Microsoft.AspNetCore.Mvc; using System.IO; using System.Threading.Tasks;
namespace MyWebAPI.Controllers
{
[Route("api/[controller]")]
[ApiController]
public class UploadFileController : ControllerBase
{
[HttpPost]
public async Task
string folderName = "UploadFiles"; // 指定文件上传的目录名
string uploadPath = Path.Combine("D:\\", folderName); // 指定上传的物理路径
DirectoryInfo di = new DirectoryInfo(uploadPath);
// 如果上传文件夹不存在,则创建它.
if (!di.Exists)
{
di.Create();
}
foreach (var item in files)
{
if (item.Length > 0)
{
string fileName = Path.GetFileName(item.FileName);
string filePath = Path.Combine(uploadPath, fileName);
using (Stream stream = new FileStream(filePath, FileMode.Create))
{
await item.CopyToAsync(stream);
}
}
}
return Ok("文件上传成功.");
}
}
}
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
在Postman或其他支持HTTP POST请求的工具中,创建一个POST请求,将请求地址设置为http://{yourdomain}/api/uploadfile,请求内容设置为multipart/form-data,并选择多个文件进行上传。
运行应用程序,上传的文件将存储在D:\UploadFiles目录中。
以上是ASP.NET Core Web API多文件上传到特定目录的解决方法。