Telerik Editor For MVC图片上传修改文件名
Telerik Editor在MVC开发中还是比较好用的,默认的编辑器图片上传是不修改文件名,这样造成个问题是同名文件上传会提示是否覆盖,对于图片比较多的站点来说这是个悲剧,不可能把所有图片命名好再来上传吧,这里提供一种重写方法,把上传文件名自动修改成日期格式,这样解决了图片重名问题。
具体重写Upload代码如下:
public class ImageBrowserController : EditorFileBrowserController
{
private readonly IVirtualPathProvider pathProvider;
public override string[] ContentPaths
{
get
{
return new[] { "~/UpLoad/Images/Customers", "~/UpLoad/Images/Employees" };
}
}
[AcceptVerbs(HttpVerbs.Post)]
public override ActionResult Upload(string path, HttpPostedFileBase file)
{
Guard.IsNotNull(file, "file");
path = NormalizePath(path);
string fileName =DateTime.Now.ToString("yyyyMMdd")+Path.GetFileName(file.FileName);
if (!this.AuthorizeUpload(path, file))
{
throw new HttpException(0x193, "Forbidden");
}
file.SaveAs(Path.Combine(base.Server.MapPath(path), fileName));
FileEntry fileEntry = new FileEntry
{
Size = file.ContentLength,
Name = fileName
};
return base.Json(fileEntry, "text/plain");
}
private string NormalizePath(string path)
{
if (string.IsNullOrEmpty(path))
{
return this.pathProvider.ToAbsolute(this.ContentPaths.First
}
return path;
}
}
转载请注明:云南网络安全联盟
最近评论