ASP.Net MVC2:どこにファイルが私のdevのボックスの両方に、生産にそれにアクセスできるように保存できますか?

StackOverflow https://stackoverflow.com/questions/2390109

質問

私はASP.Net MVCアプリケーションがファイルにアクセスできるように、ファイルを格納する必要があり、両方の私は、Visual StudioでWebサイトを実行すると、生産サーバが実際に実行されている場合。実行パスは、System32フォルダに何かあるので、私は、私は私のdevのボックスに相対パス化を行うことができないと思います。同じことが、サーバー上で真であるかどうかは知りませんが、いずれにせよ、絶対パスはオプションではありません。

私は私のdevのボックスと私の本番サーバーの両方で動作することを、コードでこのファイルを参照できるという方法はありますか?

役に立ちましたか?

解決

あなたのアプリケーションの階層内でファイルを保存することができた場合は、あなたがこれを行うことができます:

Server.MapPath("~/path/to/file")

また、あなたは現在、そのようにアセンブリの実行のパスを取得することができます

string codeBase = Assembly.GetExecutingAssembly().CodeBase;
UriBuilder uri = new UriBuilder(codeBase);
string path = Uri.UnescapeDataString(uri.Path);
return Path.GetDirectoryName(path);

そして、それから、あなたの相対パスを構築します。

他のヒント

のサブフォルダをお試しください

Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData))
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top