• 解决MVC下使用uploadify上传文件时HttpPostedFileBase为空的问题


     

    引言:

    由于file默认一次只能选择一个文件,那么,当需要一次选择多个文件时,就需要做一些改进,如结合flash来实现选择多个文件,也可以直接使用一些优秀的控件,如uplodify。

    uplodify的效果:

    clip_image001[6]

    点击“SELECT FILES”:

    clip_image003[6]

    在打开的对话框中选择多个文件,其中文件的个数限制可以在uplodifyqueueSizeLimit属性进行配置。

    点击“打开”:

    clip_image004[6]

    如果在uplodify的属性'auto'配置为‘true’时,则此时控件自动上传文件:

    clip_image005[6]

    现在来看一个最揪心的问题,那就是在Action中处理里,参数HttpPostedFileBase总为null

    clip_image006[6]

    问题在于,这个参数的名称有问题,只能是“FileData”(不区分大小写)如:

    clip_image007[6]

    或:

    clip_image008[6]

    或:

    clip_image009[6]

    等,强调不区分大小写!

    看一个错误例子:

    clip_image010[6]

    这个东西真的是有意思啊……

    :如果仍不行,查看一下View中enctype是否设置成"multipart/form-data":

    image

    P.S. 后来看文档发现uploadify有一个属性叫做fileDataName:

    URL:http://www.uploadify.com/documentation/options/filedataname/

    image

    可以看到,之所以会发生上面的情况,是因为默认的文件数据名为“Filedata”!

    所以,谜底也解开了,只是它不区分大小写罢了。

    示例:

    image

  • 相关阅读:
    final有什么用?
    数组的定义
    作业
    List 、Set数据结构
    报表工具实现单据套打
    动态格报表的制作
    图形钻取
    报表工具轻松搞定卡片式报表
    列表钻取
    报表中如何实现不规则布局
  • 原文地址:https://www.cnblogs.com/xiaxiazl/p/2431935.html
Copyright © 2020-2023  润新知