0

これについて助けが必要です。ファイル ディレクトリをデータベースに挿入していますが、たとえば、txtStoryTitle に HelloWorld と入力すると、データベースの txtStoryTitle.Text が考慮されません。DB では、Images/Story/HelloWorld/(ファイル名) ではなく、Images/Story//(ファイル名) として表示されます。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();

        }
4

1 に答える 1

1

あなたのコードによると..ファイルパスは "Images/Story/" + txtStoryTitle.Text + "/" + e.FileName" であり、txtStoryTitle.Text を提供した後、"Images/Story//FileName" として保存されます。 txtStoryTitle.Text にテキストが含まれていないことを意味します。

.Net の場合は、txtStoryTitle テキストボックスの autopostback プロパティを true に設定してください。すでに true の場合は、このテキスト ボックスがその状態に抵抗しない理由を調べてみてください。

于 2013-05-16T07:44:46.330 に答える