【发布时间】:2020-10-02 21:07:50
【问题描述】:
我的 .aspx 页面中有一个输入类型文件。
<input type="file" id="BatchImportFile" runat="server">
当我尝试检查 File.PostedFile.ContentLength 属性是否有空文件时,即使我上传空文件,它也始终显示值为 2。
我想检查一个空的.csv 文件。
【问题讨论】:
我的 .aspx 页面中有一个输入类型文件。
<input type="file" id="BatchImportFile" runat="server">
当我尝试检查 File.PostedFile.ContentLength 属性是否有空文件时,即使我上传空文件,它也始终显示值为 2。
我想检查一个空的.csv 文件。
【问题讨论】:
您上传的文件根本不是空的。 2 个字节是 Windows 行终止符的长度。也许它包含一个空行。 Unicode BOM 标头的长度也是 2 个字节。
使用String.IsNullOrWhiteSpace 来检查这种情况。
【讨论】:
string.Trim().Length。空文件应为 0。
我认为这会起作用:
if( new FileInfo( "file" ).Length == 0 )
{
//your code
}
【讨论】:
var file = controller.Request.Files[0];
if(file.ContentLength <= 2)
{ // do something
}
【讨论】: