我让用户使用 asp.net 上传控件上传文件。我在列出文件的页面上有一个转发器,用户可以单击以下载它们:
protected void grdFiles_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType != DataControlRowType.DataRow) return;
var fileNameFull = Common.FileHelper.UploadPath + e.Row.Cells[0].Text;
Request.MapPath(fileNameFull);
var hyp = new HyperLink
{
NavigateUrl = fileNameFull,
Text = e.Row.Cells[0].Text,
};
e.Row.Cells[0].Controls.Add(hyp);
}
当文件与 Web 应用程序位于同一驱动器上时,这可以正常工作,fileNameFull 看起来像:~\Uploads\some pdf.pdf
现在的要求是将文件存储在不同的驱动器上,所以我的问题是如何实现这一点?Request.MapPath 显然需要一个虚拟路径。
这些文件需要通过网络向用户公开,安全性不是主要问题。
提前致谢。