▼ 物理パスを取得 ▼

  "../fp/hoge.txt"等の仮想パスから"D:\FP-App\fp\hoge.txt "と言った物理パスを取得します。これらは同一ドメインでのみ動作します。

物理パスを取得

♣ 初期設定

    仮想パス - http://localhost/fp/WebApplication1/WebForm1.aspx
    物理パス - D:\FP-App\WebApplication1\WebForm1.aspx


♣ csファイル

using System;

public class GetPhysicalPath : System.Web.UI.Page
{
    protected System.Web.UI.WebControls.Label Label1;

    private void Page_Load(object sender, System.EventArgs e)
    {
        this.Label1.Text = Request.PhysicalPath + "<br>" +
            Request.PhysicalApplicationPath + "<br>" +
            Request.MapPath("../fp/hoge.txt") + "<br>" +;
    }
}


♣ 実行例

D:\FP-App\WebApplication1\WebForm1.aspx
D:\FP-App\WebApplication1\
D:\FP-App\fp\hoge.txt


  後半のMapPathメソッドは指定したパスやファイルが存在しなくても例外を返しませんが、Request.MapPath("../../../hoge.txt"); の様に最上位ディレクトリを越えてしまうと「System.Web.HttpException: 最上位ディレクトリの先頭に .. を使用することはできません。」が出現します。なお、Request.MapPath("");とすると"D:\FP-App\WebApplication1"が結果となります。

Continue

2008年ですね。[1]
♥ 2008年01月01日 00:00:00

自由なスレ[3]
♥ 2007年09月22日 20:51:58

2007年ですね。[1]
♥ 2007年01月01日 00:00:00

こみゅぷらす発足[1]
♥ 2006年12月01日 12:01:23

TechED2006 日記[5]
♥ 2006年09月11日 18:44:51


RSS : FooPah!の更新情報
RSS : 掲示板全体の投稿情報
Copyright(C)2001-2008 FooPah!, All rights reserved.