我需要帮助,我正在将文件目录插入数据库中,但是它没有考虑数据库中的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。
并且如果它已经是真的,那么尝试找出此文本框为何不抵抗其状态。

10-05 22:27