Ajax上传文件主要有两种途径:
1:使用Flash协助,将Flash做成透明按钮,遮挡在页面元素上,当点击时,便触发Flash的上传文件流程
2:使用Javascript+iFrame组合,首先需要一个Form,代码如下:
<form method="post" target="imageUpload_1312875777068" enctype="multipart/form-data" action="http://testserver.anhulife.cloud9ide.com" style="display: block; ">
<input type="file" name="pic" title="支持jpg、jpeg、gif、png格式,文件小于5M">
</form>
<iframe id="imageUpload_1312875777068" name="imageUpload_1312875777068" src="about:blank" style="display:none"></iframe>
其中的target指向打开上传链接的iFrame的ID.
至此,客户端已经准备好了,当表单提交时,服务器端负责保存文件并返回结果信息到iFrame里,可以返回一段JS代码回来,然后调用父页面的JS代码进行反馈
这两个途径是我个人遇到的,欢迎大家补充