如何获得文件名从TextBoxFor类型=文件ASP.Net MVC 4
本文关键字:ASP 文件 Net MVC 类型 何获得 文件名 TextBoxFor | 更新日期: 2023-09-27 18:05:34
我的视图中有文件上传控件:
@Html.TextBoxFor(model=>model.File, "", new { type = "file" })
模型:
public class ImageModel
{
public HttpPostedFile File {get; set;}
}
我想获得上传文件的扩展名。我尝试了这个,其中图像是来自表单的文件:
string extension = Path.GetExtension(image.File.Name);
但是返回null。是否有其他可能获得文件扩展名?
尝试使用html文件上传控件
<input type="file" id="fileToUpload" name="file" />
然后在控制器中添加如下功能
[HttpPost]
public ActionResult FileUpload(HttpPostedFileBase file)
{
string extension = Path.GetExtension(file.FileName);
}
对于文件扩展名的客户端验证,您可以使用JavaScript。当文件输入发生变化时调用
<script type="text/javascript">
var onChanged = function() {
var inputFile = document.getElementById("uploadBtn");
var fileName = inputFile.value.replace(/^.*['''/]/, '');
if (validateFileExtension(fileName) {
//extension is valid
}else {
//show error
}
}
function validateFileExtension(name) {
if (!/('.xlsx)$/i.test(name)) {
return false;
}
return true;
}