我正在尝试复制一些 webforms 功能,这些功能在 MVC3 项目中上传 csv 文件并且即将解开。我有以下要求:
(简短的版本是我需要类似于Filter,InitialDirectory的东西,最好但不一定是 MVC3 的System.Windows.Controls.OpenFileDialog类的MultiSelect属性)
- 显示打开文件对话框的单个按钮
- 在对话框中单击打开时开始上传
- 对话框中的文件类型应限制为 csv、txt 和所有文件
- 初始目录应该可以根据用户偏好设置
我已经将 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
}
有任何想法吗?