0

我正在尝试复制一些 webforms 功能,这些功能在 MVC3 项目中上传 csv 文件并且即将解开。我有以下要求:

(简短的版本是我需要类似于FilterInitialDirectory的东西,最好但不一定是 MVC3 的System.Windows.Controls.OpenFileDialog类的MultiSelect属性)

  1. 显示打开文件对话框的单个按钮
  2. 在对话框中单击打开时开始上传
  3. 对话框中的文件类型应限制为 csv、txt 和所有文件
  4. 初始目录应该可以根据用户偏好设置

我已经将 jQuery 用于前两个要求(如下所示),但如果这是最好的方法或如何完成后两个要求,我就不是。

看法:

@using (Html.BeginForm("Import", "Date", FormMethod.Post, new { enctype = "multipart/form-data", id="fileUpload" }))
{
    <input type="file" name="file" id="file" style="display: none;" />
    <input type="button" id="import" value="Import" />
}

<script type="text/javascript">
    $(document).ready(function () {

        $('#file').change(function () {
            $('#fileUpload').submit();
        });

        $('#import').click(function () {
            $('#file').trigger('click');
        });

    });
</script>

控制器:

[HttpPost]
public ActionResult Import(HttpPostedFileBase file)
{
      // do stuff
}

有任何想法吗?

4

1 回答 1

1

除非您使用 Flash 或 Silverlight 插件,否则这是不可能的。我使用Uploadify,它应该可以满足您的所有需求。

于 2012-06-05T13:14:52.917 回答