【发布时间】:2021-08-20 20:36:12
【问题描述】:
我已经实现了在我的项目MVC asp net c#中上传文件的表单
我的问题:
如果我尝试上传文件而不是图像(jpg、gif、png),例如一个txt文件在弹出窗口中的返回是
Please upload only image (jpg,gif,png)
但数据表单已清空已存储的其他数据。
不可能警告用户只接受图像文件并保留已存储在表单中的数据?
如何解决这个问题?
下面是我的代码
控制器
[HttpPost]
public ActionResult Index(PersonModel person, HttpPostedFileBase file)
{
if (file != null && file.ContentLength > 0)
{
var fileName = System.IO.Path.GetFileNameWithoutExtension(file.FileName);
var fileExtension = System.IO.Path.GetExtension(file.FileName);
if (fileExtension.ToString() == ".jpeg" ||
fileExtension.ToString() == ".jpg" ||
fileExtension.ToString() == ".gif" ||
fileExtension.ToString() == ".png")
{
fileName = DateTime.Now.ToString("yyyyMMddHHmmss") + "_" + fileName.Trim() + fileExtension;
var userfolderpath = System.IO.Path.Combine(Server.MapPath("~/UploadedFiles/"), fileName);
file.SaveAs(userfolderpath);
TempData["Message"] = "Ok";
return RedirectToAction("Index");
}
else
{
TempData["Message"] = "Please upload only image (jpg,gif,png)";
}
}
}
查看
@if (TempData["Message"] != null)
{
<script type="text/javascript">
window.onload = function () {
alert("@TempData["Message"].ToString()");
};
</script>
}
【问题讨论】:
标签: c# asp.net-mvc upload tempdata