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を使用しています。今、そのリンクをクリックしたときにファイルを保存できるようにしたいのですが、今はそれができません。サーバー上のファイルにアクセスすることさえできません(開発環境ではアクセスできますが、ダウンロードできません)。GuidtemplateId

これは私が使用しているパスです。

<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

ご覧のとおり、後でa hrefテーブルの を作成するために使用する TemplateLink へのパスを保存しています。Web で見つけたいくつかのソリューションを使用してみましたが、あまり活用できませんでした。

可能であれば、この問題を明確にしてください:(

ありがとうございました。

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 に答える