【发布时间】:2011-04-21 14:55:26
【问题描述】:
我有一个文件上传字段,选择图像后,我将 jquery ajax 发布到 aspx 页面的页面方法。我的问题是,如何通过 jquery 传递该图像?当我执行$(this).val() 时,它只会获取文件名。我想传递图像对象本身。
【问题讨论】:
标签: c# javascript asp.net jquery ajax
我有一个文件上传字段,选择图像后,我将 jquery ajax 发布到 aspx 页面的页面方法。我的问题是,如何通过 jquery 传递该图像?当我执行$(this).val() 时,它只会获取文件名。我想传递图像对象本身。
【问题讨论】:
标签: c# javascript asp.net jquery ajax
您不能使用 AJAX 上传文件。
相反,您可以使用简单的<form> 标记创建一个<iframe>,该标记仅包含文件上传并提交到呈现<script> 标记的页面,该标记通过服务器的响应回调到父页面。
然后您可以使用父页面中的 Javascript 在<iframe> 中提交表单。
【讨论】:
<form>,其“目标”属性引用<iframe> 元素。无论什么让你开心:-)
<input type="file" />,它不需要其他任何东西。 (您可以使用 Javascript 与之交互)
您不能通过 AJAX 执行此操作,因为基本 XMLHttpRequest 机制不支持文件上传。您必须做的(您自己或使用各种帮助的插件之一)将表单像普通的旧表单一样发布,并将其定位在隐藏(或可见)<iframe> 或简单地重新加载整个页面。
【讨论】: