0
我正在使用asp.net mvc應用程序並嘗試上載圖像。爲MVC模型屬性指定JavaScript值
這是上傳圖片功能
$(document).ready(function() {
TableDatatablesEditable.init();
$("#UploadImg").change(function() {
var data = new FormData();
var files = $("#UploadImg").get(0).files;
if (files.length > 0) {
data.append("MyImages", files[0]);
}
$.ajax({
url: "@Url.Action("UploadFile")",
type: "POST",
processData: false,
contentType: false,
data: data,
success: function (response) {
$("#HeaderInput").text('/Upload/' + response);
$("#imgPreview").attr('src', '/Upload/' + response);
},
error: function (er) {
alert(er);
}
});
});
});
我在這裏顯示上傳的圖片
@Html.Label("Logo Upload", new { @class = "col-md-3 control-label" })
<div class="col-md-7">
<input type="file" class = "col-md-3 control-label" id="UploadImg" value="@Model.FundDetail.ImagePath" name="@Model.FundDetail.ImagePath" /> <br /><br />
<br />
</div>
</div>
的圖片上傳工作正常,但值不分配到模型的屬性"@Model.FundDetail.ImagePath"
我如何從JavaScript分配值。任何人都可以建議我如何做到這一點。
在此先感謝
您不能爲文件輸入分配值(出於安全原因) - 可以設置的唯一方式是由用戶選擇文件。但你想用這個代碼做什麼? (有'name =「@ Model.FundDetail.ImagePath」'沒有任何意義) –
我有一個創建配置文件頁面,其中有其他輸入上傳圖像按鈕。所以當提交按鈕被點擊時,它應該用圖像保存用戶信息。所以你的意思是當圖像被選中後,我應該保存圖像 –
然後,或者當你發佈表單與其他輸入(不清楚爲什麼你使用ajax上傳文件)。你的視圖模型應該有一個屬性(比如說)'HttpPostedFileBase Image',然後文件輸入將是'@ Html.TextBoxFor(m => m.Image,new {type =「file」})'並且它將全部正確綁定 –