簡體   English   中英

contentImage 始終包含 null 值

[英]contentImage always contains null value

我的 post.cs 文件

[Authorize, HttpPost, ValidateInput(false)]
public ActionResult Post(PostView model, HttpPostedFileBase contentImage)
{
return View();
}

我的用於上傳圖像的cshtml文件代碼。

     @using (Ajax.BeginForm("Post", "View", null, new AjaxOptions { HttpMethod="Post", OnBegin = "OnBegin", OnSuccess = "PostOnSuccess", OnFailure = "PostOnFailure", OnComplete = "OnComplete", UpdateTargetId = "result" }, new { enctype = "multipart/form-data" ,  @class = "row g-3 needs-validation ", novalidate = "novalidate", @id = "views-plain-form" }))
                    {
                            <!--Upload Iamge-->
                            <div class="col-12">
                                <label for="image" class="form-label fw-bold">Choose View Image</label>
    
                                <input  type="file" id="contentImage" name="contentImage" accept=".jpg,.jpeg,.png,.gif" class="form-control btn-file" tabindex="8"/> 
                                <!-- <input type="file" id="contentImage" name="contentImage" /> -->
                                <div class="mt-2 p-1 text-center border">
                                    <img src="@(string.IsNullOrEmpty(Model.ImgSrc) ? "/Images/noimage.png" : Model.ImgSrc)" onerror=src="/Images/noimage.png" class="img-fluid mx-auto w-100" alt="" id="img-upload"/> 
                                </div>
                            </div>
                        <div class="col-12 d-flex justify-content-end ">
<!---<button class="btn btn-outline-danger px-2 mx-2" type="cancel">Cancel</button>-->
<button class="btn btn-primary px-3 rounded-pill px-4 " id="SavePost" type="submit" tabindex="10">
                              Post View
                            </button>
                        </div>
    }

我的jquery (3.6)代碼用於顯示所選圖像的預覽

$(":file").bind("change", function () {
        if (this.files[0].size > 1000000) {
            onValidate("Please, Upload file less than 1MB.");
            $("#contentImage").val("");
            return false;
        }
        else {
            var reader = new FileReader();
            reader.onload = function (e) {
                $('#img-upload').attr('src', e.target.result);
            }
            reader.readAsDataURL(this.files[0]);
        }
    });

發布contentImage后始終包含null值。

提前致謝。

把你的model改成這個

public class PostView {
    public HttpPostedFileBase ContentImage {get;set;}
}

然后將您的發布方法更新為此

[Authorize, HttpPost, ValidateInput(false)]
public ActionResult Post(PostView model)
{
    return View();
}

然后,您應該能夠使用 model.ContentImage 訪問上傳的文件

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM