使用 ASP.NET MVC3 上传文件(OpenFileDialog 替代方案)
本文关键字:OpenFileDialog 方案 文件 NET ASP MVC3 使用 | 更新日期: 2023-09-27 18:36:25
我正在尝试复制一些在 MVC3 项目中上传 csv 文件的网络表单功能,但遇到了困难。我有以下要求:
(简短的版本是我需要类似于过滤器,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
}
有什么想法吗?
除非你使用Flash或Silverlight插件,否则不可能做到这一点。我使用上传,它应该做你需要的一切。