文件上传没有网页中的页面刷新

时间:2010-06-02 09:20:42

标签: asp.net

斐伊川,

任何人都知道如何将文件上传到服务器的物理位置。可以使用我知道的文件上传控件。但我想避免页面的外部回发。例如,就像雅虎邮件中的那样。

在雅虎邮件最新版本中,如果您附加的文件不会回发并将该文件附加到服务器中。这背后的技术是什么?

1 个答案:

答案 0 :(得分:1)

通常,当您提交表单时,它会向服务器发出POST请求,从而导致刷新。 Ajax请求通过使用JavaScript将POST数据发送到服务器来实现这一点,并且不需要页面刷新。

Ajax请求不能用于发送文件数据,因此目前最好的方法是使用iframe hack - 使用JavaScript在iframe中动态构建表单,通过JavaScript提交表单,以及听取iframe的onload事件。所以你知道表单何时提交。这种方法的一个版本在此详述:

http://www.webtoolkit.info/ajax-file-upload.html

执行此操作的其他方法包括使用基于Flash的解决方案(如http://www.swfupload.org/)或类似http://www.plupload.com/的包装 - 这些将阻止您必须推出自己的解决方案,并且还会提供一些额外的功能 - 例如,上传进度反馈。