上传图片MVC总是空(Upload Image MVC always null)

2019-08-31 13:17发布

大家好我试图上传一个简单的图像,但HttpPostedFileBase总是剩余空。 这是我的代码,我不知道我做错了。

这是我在设计视图代码:

<fieldset>
    <legend>PictureModel</legend>

    <div class="editor-label">
        <%: Html.LabelFor(model => model.PrivacyTypeID) %>
    </div>
    <div class="editor-field">
        <%: Html.DropDownList("PrivacyTypeID", null, new { name = "PrivacyTypeID", title = "Please select privacy type.", id = "PrivacyTypeID" }) %>
        <%: Html.ValidationMessageFor(model => model.PrivacyTypeID) %>
    </div>
    <div class="editor-label">
        <%: Html.LabelFor(model => model.File1) %>
    </div>
    <div class="editor-field">
        **<input type="file" name="File1" />**
        <%: Html.ValidationMessageFor(model => model.File1) %>
    </div>        
    <div class="editor-label">
        <%: Html.LabelFor(model => model.Description) %>
    </div>

这里是在我的控制器代码:

公众的ActionResult给AddPicture(GUID ID,PictureModel模型,HttpPostedFileBase文件1){{尝试

            if (ModelState.IsValid)
            {
                try
                {
                    Guid albumid = id;

                    if (File1 != null)
                    {
                        var physicalPath = Path.Combine(Server.MapPath("~/Gallery"), System.IO.Path.GetFileName(File1.FileName));
                        File1.SaveAs(physicalPath);
                        PicturesBL pictures = new PicturesBL();

谁能告诉我这是什么问题?

Answer 1:

谁能告诉我这是什么问题?

有没有错,你已经显示的代码。 我怀疑,这个问题来自于您提交使用AJAX调用,而不是一个正常提交此表的事实。 但是,正如你知道你可以使用AJAX不能上传文件。 这就是为什么你的代码不能正常工作。 如果你想使用AJAX上传文件,你可以使用一些客户端插件,如UploadifyFine uploader 。 这也可以在本地使用HTML5新完成的File API 。 当然,这只能在支持它的现代浏览器。 如果您需要支持旧浏览器一些可用的客户端上传插件可以帮助你。



Answer 2:

这是快把我逼疯了。 几个小时后,我意识到,这

@Scripts.Render( "~/bundles/jquerymobile")

在_Layout.cshtml是造成问题。 当注释掉,上传工作。

见http://forum.jquery.com/topic/jquery-mobile-seems-to-clobber-ability-to-upload-files-via-forms了解详情。

添加

  data_ajax = “假” 
归功于我的形式解决了这个问题。



Answer 3:

确保model.File1类型HttpPostedFileBaseHttpPostedFile和表单包含enctype = "multipart/form-data"属性。



文章来源: Upload Image MVC always null