我的视图中有文件上传控件:
@Html.TextBoxFor(model=>model.File, "", new { type = "file" })
型号:
public class ImageModel
{
public HttpPostedFile File {get; set;}
}
我想获取上传文件的扩展名。我试过这个,其中image是来自表单的文件:
string extension = Path.GetExtension(image.File.Name);
但它返回null。是否还有其他可能的文件扩展名?
答案 0 :(得分:0)
尝试使用html文件上传控件
<input type="file" id="fileToUpload" name="file" />
然后在控制器中添加如下功能
[HttpPost]
public ActionResult FileUpload(HttpPostedFileBase file)
{
string extension = Path.GetExtension(file.FileName);
}
答案 1 :(得分:0)
对于文件扩展名的客户端验证,您可以使用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;
}