私はMVCビューの.aspxページでfileUploadを使いたいです。 コントローラ内のオブジェクトにパスをフェッチします。asp.netのファイルアップロードMVC3.0
<% using (Html.BeginForm("AddClient","Client",FormMethod.Post,new {enctype ="multipart/form-data" }))
{ %>
<div class="float-left">
<%: Html.Label("BAAFile Path") %>
<br />
<input type="file" name="file" id="file" />
<%: Html.ValidationMessageFor(model => model.BAAFilePath) %>--%>
</div>
<% } %>
ページの下部に、詳細を保存するボタンがあります(ファイルアップロードコントロールの横にボタンはありません)。
今、私は自分のコントローラにfileuploadコントロールのパスを取得したいと思います。
[HttpPost]
[ButtonName(Name = "Save")]
public ActionResult AddClient(ClientService.ClientDto client,HttpPostedFileBase file)
{
if (file != null && file.ContentLength > 0)
{
// extract only the fielname
var fileName = Path.GetFileName(file.FileName);
}
}
今私は "クライアント" である "ClientService.ClientDto" の対象にファイルパス
var fileName = Path.GetFileName(file.FileName);
を取得したいです。
client.BAAFilePath=fileName
しかし、iamがnullデータを "var fileName"に取得しています。 "のActionResult AddClient(ClientService.ClientDtoクライアント)" に次のコード
if (file != null && file.ContentLength > 0)
{
// extract only the fielname
var fileName = Path.GetFileName(file.FileName);
}
を使用して
IAMは、私は何をしないのですか?
私のコードを編集しました。追加されたectypeとHttppostedFileBase.still no change.Iamはnullのみを取得しています – Santosh
を見てください。masterpageなしでtake .aspxを実行すると、 asp:マスターページのScriptManager ID = "ScriptManager1" runat = "server"> asp:ScriptManager> " – Santosh
"HttppostedFileBase file"からファイルパスを取得するにはどうすればいいですか。filenameを取得しています。フルパスが必要です。 – Santosh