我希望有人可以在下面修改我的代码,以准确地告诉我如何让它做我想做的事。
我有一个发布到以下操作的 HTML 表单:
public ActionResult Create(string EntryTitle, string EntryVideo, HttpPostedFileBase ImageFile, string EntryDesc)
{
if (Session["User"] != null)
{
User currentUser = (User)Session["User"];
string savedFileName = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, Path.GetFileName(ImageFile.FileName));
ImageFile.SaveAs(savedFileName);
Entry newEntry = new Entry();
newEntry.Title = EntryTitle;
newEntry.EmbedURL = EntryVideo;
newEntry.Description = EntryDesc;
newEntry.ImagePath = savedFileName;
newEntry.UserId = currentUser.UserId;
db.Entries.Add(newEntry);
db.SaveChanges();
}
return RedirectToAction("MyPage", "User");
}
这会将图像保存到根解决方案目录(或尝试这样做,没有权限并引发异常)。
我想做的是以下几点:
1.) 验证文件大小是否低于某个最大值,现在假设为 500kb
2.)假设文件大小没问题,将其保存到以下目录
mywebsite.com/uploads/<userid>/<entryid>/entry-image.<jpg/png/gif>
我不确定如何重命名文件,因为我想接受不同的文件扩展名(.jpeg、.jpg、.png、.gif)。或者不确定如何将其放入上述正确目录。或者如何验证文件大小,因为如果用户使用的是 IE,显然你只能使用 javascript 来做到这一点。