freetextbox控件的确是一个很不错的控件,后台发布内容的时候很方便,然而该控件自身也存在不少缺点,若直接拿来使用,会有一些不便之处,拿该控件的上传图片功能来说吧,因为该控件在开发的时候仅简单实现了上传功能,没有考虑太多,比如再次上传的图片文件名与已存在的文件名同名的话,空间上已有的图片将会被覆盖,因而对用户本身来说会带来一些不必要的麻烦,在此问题之下,我自己试着对该控件的代码作了一些简单的修改,代码如下(红色为修改部分):
首先:打开ftb.imagegallery.aspx文件,以下是修改部分,
public void UploadImage_OnClick(object sender, EventArgs e) {
if (Page.IsValid) {
if (CurrentImagesFolder.Value != "") {
if (UploadFile.PostedFile.FileName.Trim() != "") {
if (IsValidFileType(UploadFile.PostedFile.FileName)) {
try {
//string UploadFileName = "";
string UploadFileDestination = "";
//UploadFileName = UploadFile.PostedFile.FileName;
//UploadFileName = UploadFileName.Substring(UploadFileName.LastIndexOf("\\")+1);
string filename = UploadFile.PostedFile.FileName; //取得文件名
int i = filename.Length;
filename = filename.Remove(0, i - 4);
string s = DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString() + DateTime.Now.Hour.ToString() + DateTime.Now.Minute.ToString() + DateTime.Now.Second.ToString() + DateTime.Now.Millisecond.ToString();//设置文件名
UploadFileDestination = HttpContext.Current.Request.PhysicalApplicationPath;
UploadFileDestination += CurrentImagesFolder.Value;
UploadFileDestination += "\\";
UploadFile.PostedFile.SaveAs(UploadFileDestination +s+filename);
ResultsMessage.Text = UploadSuccessMessage;
} catch(Exception ex) {
//ResultsMessage.Text = "Your file could not be uploaded: " + ex.Message;
ResultsMessage.Text = UploadFailureMessage;
}
} else {
ResultsMessage.Text = InvalidFileTypeMessage;
}
} else {
ResultsMessage.Text = NoFileMessage;
}
} else {
ResultsMessage.Text = NoFolderSpecifiedMessage;
}
} else {
ResultsMessage.Text = InvalidFileTypeMessage;
}
DisplayImages();
}