Asp.net Core-在使用 javascript 或 C# 上传之前选择和验证 excel 文件?
Posted
技术标签:
【中文标题】Asp.net Core-在使用 javascript 或 C# 上传之前选择和验证 excel 文件?【英文标题】:Asp.net Core-choose and Validate excel file before uploading using javascript or C#? 【发布时间】:2022-01-20 21:48:57 【问题描述】:1-如何只选择 Excel 格式的文件?
2-如何在 javascript 和 C# 中验证文件格式?
我在 Asp.Net Core 3.1 中使用 EPPlus 插件?
html:
<form id="SelectExcelForm" method="post">
<div class="form-group">
<div class="form-line">
<input type="file" name="ExcelFile" class="form-control" />
<span class="text text-danger">True Format : xlsx </span>
</div>
</div>
<div class="modal-footer">
<button type="button" onclick="return ValidateForm()" class="btn btn-info waves-effect">Save</button>
</div>
</form>
【问题讨论】:
对于客户端验证:***.com/a/4329008/6310593,服务器端可以检查扩展名和文件头字节。 【参考方案1】:如果要在C#代码中验证文件格式,可以使用以下代码:
<input type="file" name="ExcelFile" class="form-control" accept=".xls,.xlsx" />
这样,选择框中只能看到Excel格式的文件。
当你想使用 JS 进行验证时,你可以使用这些代码:
<input type="file" name="ExcelFile" class="form-control" onchange="fileChange(this)" />
<script>
function fileChange(target)
var name=target.value;
var fileName = name.substring(name.lastIndexOf(".")+1).toLowerCase();
if(fileName !="xls" && fileName !="xlsx")
alert("please upload file in Excel forma!");
target.value="";
return false;
</script>
这样,你可以在选择框中看到所有格式的文件,但是当你选择其他格式的文件时,会上传失败。
【讨论】:
以上是关于Asp.net Core-在使用 javascript 或 C# 上传之前选择和验证 excel 文件?的主要内容,如果未能解决你的问题,请参考以下文章
ASP.NET Core中的缓存[1]:如何在一个ASP.NET Core应用中使用缓存
在 ASP.NET Core 6.0 中使用 Serilog
ASP.NET Core学习笔记 第一篇 ASP.NET Core初探
ASP.NET Core Web 应用程序系列- 在ASP.NET Core中使用Autofac替换自带DI进行批量依赖注入(MVC当中应用)