我正在开发一个 asp.net 文件浏览器,它递归地遍历文件夹并列出它们的文件和子文件夹。但是,我也想让文件可以下载/查看,我似乎有问题。我无法正确转换地址。我有以下配置和代码。
编辑:
问题是创建的链接
Response.Write(space + "<a href=" + "Upload/" + d.Name + ">" + d.FullName + "</a><br/>");
不要正确链接到文件。还有一个我需要解决的额外问题:一些文件名包含空格。
网页配置
<appSettings>
<add key="UploadDirectory" value="~/Upload/"/>
</appSettings>
文件浏览器.aspx.cs
public partial class FileBrowser : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
DirectoryInfo di = new DirectoryInfo(Request.MapPath(System.Configuration.ConfigurationManager.AppSettings["UploadDirectory"]));
if (Directory.Exists(di.ToString()))
printDir("", di.ToString());
}
protected void printDir(string space, string dir)
{
DirectoryInfo di = new DirectoryInfo(dir);
foreach (DirectoryInfo d in di.GetDirectories())
{
Response.Write(space + "<a href=" + d.ToString() + ">" + d.ToString() + "</a><br/>");
printDir(space + " ", dir + "\\" + d.ToString());
}
foreach (FileInfo d in di.GetFiles())
{
Response.Write(space + "<a href=" + "Upload/" + d.Name + ">" + d.FullName + "</a><br/>");
}
}
}