ASP.Net MVC2:どこにファイルが私のdevのボックスの両方に、生産にそれにアクセスできるように保存できますか?
-
24-09-2019 - |
質問
私は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))
所属していません StackOverflow