我正在尝试上传单个 .txt 文件,并阅读其内容。我正在使用IFormFile
来做到这一点。我的控制器基本上就像
public IHttpActionResult PostCellInfo(IFormFile file)
{
using (var reader = new StreamReader(file.OpenReadStream()))
{
var fileContent = reader.ReadToEnd();
}
}
我索引中的表单是
<form name="upload" method="post" enctype="multipart/form-data" action="api/CellInfoes">
<div>
<input name="file" type="file" />
<input type="submit" value="upload" />
</div>
</form>
但错误仍然说
“ExceptionMessage”:“对象引用未设置为的实例 对象“。
我认为“文件”总是null
。有什么想法吗?
我读过这些名字必须匹配 - 但我认为这在我的代码中是可以的。
答案 0 :(得分:0)
参数应为IList<IFormFile> files
。
public IHttpActionResult PostCellInfo(IList<IFormFile> files)
{
foreach (var file in files) {
if (file.Length > 0) {
using (var reader = new StreamReader(file.OpenReadStream()))
{
var fileContent = reader.ReadToEnd();
}
}
}
}
并在视图中更改name属性:
<form name="upload" method="post" enctype="multipart/form-data" action="api/CellInfoes">
<div>
<input name="files" type="file" />
<input type="submit" value="upload" />
</div>
</form>
我还没有对此进行测试,但它应该指向正确的方向。
如果您想在没有收藏集的情况下使用IFormFile
,请查看此post。