首页 > 代码库 > javascript 无刷新上传图片之原理

javascript 无刷新上传图片之原理

刚开始我认为可以像ajax 那样获取到数据然后通过ajax 发送请求,后来发现浏览器为了客户端的安全默认并没有给javascript 这个权限。这个方法当然是行不同了。我看了好像开源的上传图片原理,当然大部分是flash。但是为了方便使用js的也不少。 
原理都是使用iframe 上传,在from标签里面有个属性 和a 标签一样 target,target标示这个表单的数据提交的目的地。网页特效代码target里面写iframe的name ,这样表单的数据就提交到了这个 iframe里面。
根据这个原理实现方法:
通过 javascript动态的创建一个 form 和一个  iframe,来上传图片。
如我在易U里面写的规则是,在一个表单里面的按钮加上 fname 这样一个属性 就会在这里创建一个自动上传
如:
<form> 
<input fanme="imgname" type="button" value="http://www.mamicode.com/请选择图片"> 
</form> 
当点击这个按钮时其实是点击的上传框,所有就会弹出选择文件,当用户选择了文件立即上传用javascript 动态获取 iframe的返回内容,这样图片就上传成功了。
?1. [代码][HTML]代码     
<!--
易U:http://www.yxsss.com/ui/
-->
<form action=""  method="get">
<input type="button" fname="uimg" funstr="function(){document.title=‘图片正在上传……‘;}" funbak="ddd" furl="a.php" value="http://www.mamicode.com/本地上传">
</form>http://www.huiyi8.com/jiaoben/?
<script type="text/javascript">
function ddd(da){
        
        if(da.ztai){
                document.title=‘上传完成‘;
                ui.success(‘上传成功保存地址为‘+da.url);
        }
}
</script>
?