创建目录与AjaxFileUpload到一个特定的文件夹
本文关键字:一个 文件夹 AjaxFileUpload 创建目录 | 更新日期: 2023-09-27 18:09:05
我试图创建一个文件夹,然后将文档上传到同一个文件夹与AjaxFileUpload功能,我需要文件夹路径包括在我的形式文本框的值;然而,我似乎找不到任何好的资源来告诉我如何这样做,所以任何帮助都会很感激。下面是我的代码:
aspx页面(下面是一个更新面板):
<asp:AjaxFileUpload ID="CertificateUpload" ThrobberID="myThrobber" runat="server" MaximumNumberOfFiles="10" Width="600px" OnUploadStart="CreateFolder_Click" OnUploadComplete="File_Upload" />
apsx.cs页面:
protected void CreateFolder_Click(object sender, EventArgs e)
{
string folderName = @"P:'Training Records'Training Detail Records'Individual Records";
string pathString = Path.Combine(folderName, firstnametier1.Text + " " + lastnametier1.Text);
if (!Directory.Exists(pathString))
{
Directory.CreateDirectory(pathString);
}
}
protected void File_Upload(object sender, AjaxFileUploadEventArgs e)
{
string filename = e.FileName;
string FinalFolder = "~/Training Detail Records/Individual Records/";
string strDestPath = Server.MapPath(@FinalFolder);
CertificateUpload.SaveAs(@strDestPath + filename);
}
}
我试着把这两个放在一起这样当我点击上传按钮时,文件夹就会创建起来我想在最终文件夹路径中添加一个额外的文本值,像这样:
string FinalFolder = "~/Training Detail Records/Individual Records/" + Textbox.Text + "/";
但是当我尝试这个不工作。同样,欢迎任何帮助。
谢谢
我明白了:
下面是asp .cs页面的代码:
首先,我在SelectedIndexChanged(object sender, EventArgs e)部分添加了以下内容:
string fullname = firstnametier1.Text + " " + lastnametier1.Text;
Session["fname"] = fullname;
这有助于在会话中存储两个文本字段的值,以便我可以在ajaxfileupload函数中使用它。
其次,我调整了我的其他代码,像这样: protected void File_Upload(object sender, AjaxFileUploadEventArgs e)
{
string folderName = "P:/Training Records/Training Detail Records/Individual Records/" + Session["fname"].ToString() + "/";
if (!Directory.Exists(folderName))
{
Directory.CreateDirectory(Server.MapPath(folderName));
}
string filename = e.FileName;
string strDestPath = Server.MapPath(@folderName);
CertificateUpload.SaveAs(@strDestPath + filename);
}
现在它工作了!我正在用我想要的名字创建一个文件夹,并将数据添加到其中。
我不是一个专业的程序员,所以如果你看到这个代码的任何问题或可以使它更好,请这样做。我希望这对其他人有帮助。