Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc HttpPostedFileBase为空mvc_Asp.net Mvc_Image Uploading_Httppostedfilebase - Fatal编程技术网

Asp.net mvc HttpPostedFileBase为空mvc

Asp.net mvc HttpPostedFileBase为空mvc,asp.net-mvc,image-uploading,httppostedfilebase,Asp.net Mvc,Image Uploading,Httppostedfilebase,我一直在试图弄清楚为什么我的HttpPostedFileBase返回null。我看了一下其他的答案,也听了一些关于如何上传图片的教程。问题是我仍然只是从HttpPostedFileBase和Request.Files中获取null。我有什么遗漏吗 我的控制器 [HttpPost] public ActionResult Save(HttpPostedFileBase PreviewImageFile) { //some code// i

我一直在试图弄清楚为什么我的HttpPostedFileBase返回null。我看了一下其他的答案,也听了一些关于如何上传图片的教程。问题是我仍然只是从HttpPostedFileBase和Request.Files中获取null。我有什么遗漏吗

我的控制器

    [HttpPost]
    public ActionResult Save(HttpPostedFileBase PreviewImageFile)
    {

        //some code//

        if (PreviewImageFile.ContentLength > 0)
        {
            try
            {
                var uploadedImage = new Bitmap(PreviewImageFile.InputStream);
                var width = 368;
                var height = 305;
                var uploadedImageThumb = ImageHelper.CreateThumbnail(uploadedImage, width, height);

                uploadedImageThumb.Save("/path" + id + ".png", ImageFormat.Png);
                uploadedImageThumb.Dispose();
                uploadedImage.Dispose();

            }
            catch
            {

            }
        }

        //some code here//

        return Json(new { success = true });
    }
从视图看我的形状

                <% using (Html.BeginForm("Save", "SaveThemes", FormMethod.Post, new { enctype = "multipart/form-data", @id = "TestForm" }))
                   {  %>

                        <label for="PreviewImageFile">Perview Image</label>
                        <input type="file" id="PreviewImageFile" name="PreviewImageFile" size="40" value="" />


                //some code here//
                <button type="submit" >save</button>
                <% } %>

透视图像
//这里有一些代码//
拯救

您显示的代码示例没有问题。请提供有关正在进行的HTTP请求的更多详细信息。使用Fiddler或webbrowser的开发者工具栏捕获实际请求并在此处显示。HTTP头+HTTP POST正文有效负载。您是否有一些javascript插件可能会劫持表单提交处理程序?请调试您的应用程序,并在发布文件时检查Request.Files.Count。如果有效,您可以使用Request.Files[0]您在ActionMethod末尾使用返回
JSON()
,并在表单上添加id元素,这让我相信您正在尝试使用AJAX方法上载文件。如果没有一些特殊的插件,AJAX文件上传就无法工作*(是的,有一些HTML5方法,但通常是不允许的)。您是否使用jQuery或其他JavaScript来发布表单?我使用jQuery中的
.submit()
来提交表单,并使用一些JavaScript来验证我接收的输入。@Themonkey180-是的,您不能使用AJAX提交(意思是使用jQuery)带有文件上载的表单。您可以使用jQuery对其进行验证,但实际的表单提交需要是发送到服务器的完整页面。