【问题标题】:dropzone.js and ASP.NET MVC file posted is null?发布的 dropzone.js 和 ASP.NET MVC 文件为空?
【发布时间】:2013-12-25 04:58:40
【问题描述】:

我正在尝试使用 dropzone.js 在我的 ASP.NET MVC 应用程序中上传图像。我能够以编程方式设置 dropzone,单击它,选择图像,当我在文件对话框中单击“打开”时,控制器中会触发正确的操作。但是,HttpPostedFileBase 总是返回为空,所以我不能对图像做任何事情。但是,在客户端,它可以正确显示图像缩略图,尽管我无法在服务器端获取它。

这是 HTML:

<div style="float:left;margin-right:2px;" id="mainImage">
    <img src="/images/AddImage_button.png" class="dz-message" />
</div>

这是我在文档准备好后调用的js代码:

var myDropzone = new Dropzone("div#mainImage", { url: "/Market/UploadImage" });

这是控制器内部的动作调用:

public ContentResult UploadImage(HttpPostedFileBase imageFile)
{

    if (imageFile == null || imageFile.ContentLength == 0)
    {
    //.....
    }
}

动作被命中,但 imageFile 为空。有没有人有任何想法?顺便说一句,“dz-message”类被添加到 dropzone 内的图像占位符中,因为在此之前它是不可点击的。我在某个地方读到它可以解决该问题并且它有效。

任何想法为什么我的 imageFile 为空?

【问题讨论】:

  • Dropzone 使用的默认参数名称是file,您的默认参数名称是imageFile。将imageFile 更改为file 就可以了
  • 就是这样。谢谢!
  • @RaraituL 将其发布为答案 ....它对像我这样的新手很有帮助
  • @suhailMumtazAwan 完成

标签: asp.net-mvc image-uploading image-upload dropzone.js


【解决方案1】:

Dropzone 使用的默认参数名称是file,您的默认参数名称是imageFile。将imageFile 更改为file 就可以了

【讨论】:

    【解决方案2】:

    您可能会错过一个小调整。

    发生在我身上很多次,

    您使用的表单元素,必须将其 enctype 属性设置如下:

    <form action="~/Home/SaveUploadedFile" method="post" enctype="multipart/form-data"/>
    

    【讨论】:

      猜你喜欢
      • 2016-05-11
      • 2019-01-13
      • 1970-01-01
      • 2015-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多