我需要帮助,我正在将文件目录插入数据库中,但是它没有考虑数据库中的txtStoryTitle.Text,例如,如果我在txtStoryTitle中键入HelloWorld。它在数据库中显示为Images / Story //(文件名),而不是Images / Story / HelloWorld /(文件名)。我正在使用MySQL(工作台)。
请给我一个建议/解决方案,在此先感谢!
以下是部分代码:
protected void AjaxFileUpload1_UploadComplete(object sender, AjaxControlToolkit.AjaxFileUploadEventArgs e)
{
EnsureDirectoriesExist();
String filepathImage = (@"Images/Story/" + txtStoryTitle.Text + "/" + e.FileName);
AjaxFileUpload1.SaveAs(Server.MapPath(filepathImage));
Session["filepathImage"] = filepathImage;
}
public void EnsureDirectoriesExist()
{
if (!System.IO.Directory.Exists(Server.MapPath(@"Images/Story/" + txtStoryTitle.Text + "/")))
{
System.IO.Directory.CreateDirectory(Server.MapPath(@"Images/Story/" + txtStoryTitle.Text + "/"));
}
}
protected void btnDone_Click(object sender, EventArgs e)
{
if (Session["filepathImage"] != null)
{
string filepathImage = Session["filepathImage"] as string;
act.ActivityName = dropListActivity.SelectedItem.Text;
act.Title = txtStoryTitle.Text;
act.FileURL = filepathImage;
daoStory.Insert(act);
daoStory.Save();
}
最佳答案
根据您的代码..文件路径为“ Images / Story /” + txtStoryTitle.Text +“ /” + e.FileName”
在提供txtStoryTitle.Text之后,将其另存为“ Images / Story // FileName”。那么这意味着txtStoryTitle.Text不包含任何文本。
如果它在.Net中,则请确保将txtStoryTitle文本框的autopostback属性设置为true。
并且如果它已经是真的,那么尝试找出此文本框为何不抵抗其状态。