从表链接下载ASP.NET VB文件

时间:2012-08-06 05:04:35

标签: asp.net download

我的VB ASP.NET应用程序中有一个来自数据库的填充表,如下所示:

<dl class="row">
    <dd style="width:20%; background:none;">
        <%# Eval("name")%>
    </dd>
    <dd style="width:20%;">
        <%# Eval("description")%>
    </dd>
    <dd style="width:30%;">
        <a href="<%# Eval("templateLink")%>"><%# Eval("templateId")%></a>
    </dd>
</dl>

现在,我已保存templateLink中模板的链接,我使用Guid作为名称,即templateId。 现在,当我点击该链接时,我希望能够保存该文件,但现在它不会这样做。我甚至无法访问服务器上的文件(在我可以访问但仍然无法下载的开发环境中)。

这是我正在使用的路径。

<configuration>
    <appSettings>
        <add key="UploadLocation" value="C:\inetpub\wwwroot\MyProject\Intranet\Resources\"/>
    </appSettings>
<configuration>

这是上传代码:

Dim TempEx As String = System.IO.Path.GetExtension(fuTemp.FileName)
Dim TempPath As String = ConfigurationManager.AppSettings("UploadLocation")
Dim TempName As String = report.TempID.ToString + TempEx

fuTemp.PostedFile.SaveAs(TempPath + TempName)

report.TemplateLink = TempPath + TempName

正如您所看到的,我正在保存TemplateLink的路径,我稍后会使用该路径为表创建a href。我尝试使用我在网络上找到的几种解决方案,但无法充分利用它。

如果可能请向我澄清这个问题:(

谢谢。

1 个答案:

答案 0 :(得分:0)

您希望将UploadLocation存储为相对路径:

<add key="UploadLocation" value="/Intranet/Resources/"/>

在上传代码中,使用Server.MapPath(ConfigurationManager.AppSettings("UploadLocation")获取文件系统路径。

然后绑定TempPath + TempName应该为您提供正确的HTTP链接而不是文件系统路径。