use*_*100 3 .net c# asp.net asp.net-web-api .net-core
只需编写一个简单的ASP.NET Core WebAPI,并在使用接受IFormFiles的简单POST端点时:
[HttpPost]
public async Task<List<string>> Post(List<IFormFile> files)
{
long size = files.Sum(f => f.Length);
List<string> result = new List<string>();
Console.WriteLine(files.Count);
foreach (var f in files)
{
if (f.Length > 0)
{
Directory.CreateDirectory("Resources");
using (var stream = new FileStream("Resources", FileMode.Create))
{
await f.CopyToAsync(stream);
result.Add(f.FileName);
}
}
}
return result;
}
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
System.UnauthorizedAccessException:拒绝访问路径'F:\ Documents HDD\spec-backend\Resources'
我已经调查了它,显然它与我的目录只读取有关,但我无法弄清楚如何更改它,即使这样,目录也是由我的ASP.NET控制器创建的.
use*_*100 13
最后的答案是FileStream对象需要路径中文件的名称,而不仅仅是目录.
using (var stream = new FileStream(Path.Combine("Resources", f.FileName), FileMode.Create))
{
await f.CopyToAsync(stream);
result.Add(f.FileName);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5462 次 |
| 最近记录: |