0

我的 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为表创建路径。我尝试使用我在网上找到的几种解决方案,但无法充分利用它。

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

谢谢你。

4

1 回答 1

0

您需要存储UploadLocation为相对路径:

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

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

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

于 2012-08-06T05:21:25.477 回答