【发布时间】:2010-10-30 01:50:15
【问题描述】:
我想使用 asp.net 上传文件,所以我不想在上传时回发页面。我该怎么做?有没有办法使用 Ajax 来做到这一点。
【问题讨论】:
标签: asp.net ajax file-upload
我想使用 asp.net 上传文件,所以我不想在上传时回发页面。我该怎么做?有没有办法使用 Ajax 来做到这一点。
【问题讨论】:
标签: asp.net ajax file-upload
使文件上传表单以隐藏的 iframe 为目标。
<iframe name="UploadTarget" style="display:none"></iframe>
<form target="UploadTarget" action="postfile" method="post" enctype="multipart/form-data">
<input type="file" name="MyFile">
<input type="submit" name="submit" value="Send me a file">
</form>
最后一个技巧是添加到您的响应页面:
<script type="text/javascript">parent.somecallbackfunction("Here is some data")</script>
让您的父页面(包含隐藏 iframe 的页面)知道文件上传已完成。
【讨论】:
iframe 可以放置在您的页面上,并且可以包含输入元素 type=file。您可以通过 javascript 操作和提交 iframe 表单。您可以通过将其 CSS 样式设置为 display:none 来隐藏 iframe。这通常被称为隐藏 iframe 方法。
【讨论】:
使用像SWFUpload 这样经过验证的东西,并节省编写自己的客户端代码的时间。
【讨论】: