Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net core 使用net core 3.1保存文件_Asp.net Core - Fatal编程技术网

Asp.net core 使用net core 3.1保存文件

Asp.net core 使用net core 3.1保存文件,asp.net-core,Asp.net Core,我正在寻找一种在.NETCoreV3.1中保存上传文件的方法 我有以下代码: 公共异步任务保存文件(ifformfile) { 尝试 { var filePath=Path.Combine(filePath,file.FileName); 使用(var fileStream=newfilestream(filePath,FileMode.Create)) { CopyToAsync(fileStream); } 返回true; } 捕获(例外情况除外) { _logger.LogError(例如

我正在寻找一种在.NETCoreV3.1中保存上传文件的方法

我有以下代码:

公共异步任务保存文件(ifformfile)
{
尝试
{
var filePath=Path.Combine(filePath,file.FileName);
使用(var fileStream=newfilestream(filePath,FileMode.Create))
{
CopyToAsync(fileStream);
}
返回true;
}
捕获(例外情况除外)
{
_logger.LogError(例如消息);
掷骰子;
}
}

它正确创建文件,但始终创建一个0字节的文件。

调用
CopyToAsync()时,您缺少
wait

而且
file.Length
可以是0,因此最好检查一下

公共异步任务保存文件(ifformfile)
{
尝试
{
如果(formFile.Length==0)
{
返回false;
}
var filePath=Path.Combine(filePath,file.FileName);
使用(var fileStream=System.IO.File.Create(filePath))
{
等待formFile.CopyToAsync(fileStream);
}
返回true;
}
捕获(例外情况除外)
{
_logger.LogError(例如消息);
掷骰子;
}
}

等待file.CopyToAsync(fileStream)
你错过了
等待
关键字你好,谢谢你回答我的问题,但我仍然有同样的麻烦。文件创建正确,但有0个字节。(我加载了一个大小为1MB的文件)