記事詳細
- 投稿日
- 2026年06月10日06時30分
-
タイトル
-
ASP.NET MVC:Viewから送られたstring "交際費.png"をController(create action method)でstring"Images/交際費.png"にするC#コードを教えてください。
- 内容
-
了解です。
ASP.NET MVC で View から送られた"交際費.png"を Controller のCreateアクションで"Images/交際費.png"に変換するには、単純に文字列結合すればOKですが、パス結合はPath.Combineを使うのが安全です。以下は安全で実用的なサンプルコードです。
ポイント
Path.GetFileName- ユーザーが
"../../悪意あるファイル"のようなパスを送っても、ファイル名部分だけを安全に抽出します。
- ユーザーが
Path.Combine- OS依存の区切り文字を自動で処理します。
Replace("\\", "/")- Webパスとして使う場合は
/に統一します。
- Webパスとして使う場合は
Server.MapPath- 相対パスをサーバー上の物理パスに変換できます(保存や読み込み時に必要)。
✅ このコードなら、
入力"交際費.png"→ 出力"Images/交際費.png"
が安全に実現できます。もしこの
"Images/交際費.png"を 物理保存パス としても使いたい場合は、上記のphysicalPathをそのまま使えばOKです。必要であれば、この処理を ViewModel 経由で受け取る方法 も書けますが、そちらも載せますか?
そうすればフォームの他のデータと一緒に安全に受け取れます。Powered by Froala Editor
-
添付画像
-
画像はありません
- Genreのカテゴリ-名
- Controllers