【发布时间】:2012-05-29 16:09:04
【问题描述】:
也许只有我一个人,但我正在尝试使用 jQuery 对话框来捕获用户想要上传的文件。 IE9必须支持。 IE9 不支持在我遇到的许多示例和第 3 方工具中使用的 FormData 对象。因此,为了使我的请求不刷新整个页面,我必须将我的上传文件放入 iFrame 中?真的吗?我知道我可以得到一些 Flash 上传器,但我们的网站不支持 Flash,所以现在不可能。
拜托.. 请有人告诉我我做错了,有一种更简单的方法,因为我似乎找不到它.. 至少在 IE9 上无法使用。
表格
<form action="/ControllerName/ActionName" method="post" enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file" />
<input type="submit" name="submit" value="Submit" />
</form>
然后变成这样的iFrame
<iframe src="myUrl"></iframe>
【问题讨论】:
-
使用 iFrame 有什么问题?如果您将其放在灯箱/对话框中,用户将无法区分。
-
@SpencerRuport 对我来说只是觉得它应该以更好的方式完成。
-
应该的。但作为开发人员,我们只是浏览器大战的受害者。
-
使用
Ajax.BeginForm的ajaxified 表单怎么样? msdn.microsoft.com/en-us/library/… -
@mattytommo 我尝试使用第一件事。 ajax 对象不支持文件上传:( 然后我尝试了一个普通的形式,将其序列化并使用 ajax 传递数据,但这也不起作用我很确定这是由于 HTTP 传输文件的方式多部分帖子。
标签: ajax asp.net-mvc-3 html