改进主要集中在后台的附件上传中
默认be的所有附件是上传到app_data\files下的,而且是按原文件名进行保存
这样会带来二个问题:
1、如果要上传的文件名已在服务器上存在,则会覆盖掉原文件;
2、附件没有一个合理的目录安排,对以后的管理会带来一定的问题。
于是,做了如下的改动:
1、所有的附件还是存在App_Data\files下,只不过会在Files目录下以当前服务器时间.ToString("yyyyMMdd")为名新建目录。
2、将上传的附件以DateTime.Now.ToString("HHmmss")+"_"+原文件名这种方式来保存
则,附件目录变成
app_data\files\20080102\122323_demo.jpg
admin/pages/add_entry.aspx.cs
[code:c#]
string dtNow = DateTime.Now.ToString("HHmmss");
...................................
private void Upload(string virtualFolder, FileUpload control)
{
string folder = Server.MapPath(virtualFolder);
folder = folder.EndsWith("\\") ? folder + dt : folder + "\\" + dt;
if (System.IO.Directory.Exists(folder) == false)
Directory.CreateDirectory(folder);
control.PostedFile.SaveAs(folder + dtNow + "_"+control.FileName);
}
[/code]
Add_entry.aspx.rar (3.07 kb)