无刷新上传图片(文件)技术浅谈

1,异步上传文件的技术有好多种方式,如:ajaxfileupload插件,swfupload插件,html5等方式,但是本文介绍一种通过iframe方式的上传技术。

2,主要注意的地方是:顶级域相同的情况下,js跨域获取数据(window.domain='XXX.com');target属性的使用。具体如下:

(1)在父页面(所见到的上传页面)引入iframe(实际上传的东东是在此iframe页面),并显示出点击上传图片的标签(实际是点击iframe中的上传图片按钮,此处是用css样式覆盖的原因,用户实际点击的是子页面的上传按钮),具体代码如下:

添加图片


















(2)在iframe页面需要注意css的地方,在父页面的点击实际点击的是此子页面的上传图片的按钮,同时注意js跨域及target指向一个空的iframe(实际的数据处理在此页面的)。具体代码如下:







(3)在服务器端的程序中,需要注意的地方是:如果需要把上传的图片在当前页面显示,就需要获取具体图片的url,同时要把图片的url传给顶级父页面。具体代码如下:

document.domain='XXX.com';window.top.addImg('http://2.XXX.com/uploads/".$_FILES['Filedata']['name']."');";?>

一定要注意echo出的那段js代码,首选是解决跨域,再个就是顶级父页面获取值,也可以把window.top改为parent.parent.

你可能感兴趣的:(无刷新上传图片(文件)技术浅谈)