【发布时间】:2014-03-26 05:53:12
【问题描述】:
我的网页有一个 ajax 控件上传事件,用于上传 zip 文件并通过基于下拉列表输入创建文件夹名称来解压缩 (zlib) zip 文件夹。面临的问题是当我的网页加载为 CEESI 时的默认值,并且每次都将其作为下拉列表输入。如果从 ajax 上传下拉列表中选择了任何其他选项,则它不会采用所选输入来创建文件夹名称,并且无法解压缩我的文件,因为错误表明路径不存在。 上传和解压缩仅适用于默认下拉列表输入,即 c
我的 Aspx 源代码
<asp:DropDownList ID="DropDownList1" runat="server" Font-Size="Smaller">
<asp:ListItem>c</asp:ListItem>
<asp:ListItem>n</asp:ListItem>
<asp:ListItem>h</asp:ListItem>
<asp:ListItem>f</asp:ListItem>
<asp:ListItem>ce</asp:ListItem>
<asp:ListItem>si</asp:ListItem>
</asp:DropDownList>
我的 C# 代码 (aspx.cs)
protected void UploadComplete(object sender, AjaxControlToolkit.AjaxFileUploadEventArgs e)
{
string path_with_file_name = null;
try
{
_path = Server.MapPath("~/App_data" + "/" + get_user_data(1) + "/" + DropDownList1.Text + "/");
**//How to retrieve selected drop down list input for Ajax Upload**
bool isExists = System.IO.Directory.Exists(_path);
if (!isExists)
System.IO.Directory.CreateDirectory(_path);
path_with_file_name = _path + e.FileName;
AjaxFileUpload1.SaveAs(Path.Combine(_path, e.FileName));
}
catch (UnauthorizedAccessException Uae)
{
throw Uae;
}
UnZipper uz = new UnZipper();
uz.Destination = _path;
uz.IfFileExist = enIfFileExist.Overwrite;
uz.ItemList.Add("*.*");
uz.Recurse = true;
uz.ZipFile = @path_with_file_name;
uz.UnZip();
}
【问题讨论】:
标签: c# javascript asp.net ajax zlib