ajaxFileUpload实现图片的上传并预览

先来个最简单的  单图上传并预览


html:

  <script src="/content/js/jquery-1.10.2.min.js"></script>
    <script src="/content/js/ajaxfileupload.js"></script>
引入js文件

<div id="img_upload">
    <img id="head" src="/content/images/head.jpg">
    <p>头像</p>
    <input id="img" name="img" class="hidden" type="file" οnchange="up_head()">
</div>
一个显示图片的标签,一个是文件上传的input标签(设置隐藏)
js:

<pre style="font-family: 宋体; font-size: 9.6pt; background-color: rgb(255, 255, 255);"><pre name="code" class="html"> $("#head").click(function(){
        $("#img").click();
    });

 
 
    //异步上传头像并预览
    function up_head(){
        $.ajaxFileUpload({
            url:"index.php?r=admin/uploaduserhead",
            secureuri: false,
            fileElementId:"img",
            dataType: 'text',
            success:function(data,status){
                var res=eval('('+data+')');
                $("#head").attr("src",res.url);
            }
        });
    }
当点击图片的时候,出发input点击事件,弹出文件上传窗口,当文件上传后,触发<span style="font-family: Arial, Helvetica, sans-serif;">up_head()事件,异步上传图片,后台接收图片并保存,返回图片存储位置</span>
<span style="font-family:Arial, Helvetica, sans-serif;">把文件存储的路径赋给img标签的src属性</span>

后台PHP:

  //异步上传用户头像
    public function actionUploaduserhead(){
        $rootPath=dirname(dirname(__FILE__));
        $string=explode('.',$_FILES["img"]["name"]);
        $suffix=$string[count($string)-1];
        $filename=time().".".$suffix;
        $Path=$rootPath."/content/images/userhead/";
        move_uploaded_file($_FILES["img"]["tmp_name"],$Path.$filename);
        $res["url"]="/content/images/userhead/".$filename;
        echo json_encode($res);
    }
接收上传的图片信息,并保存,返回存储的路径

见过有一个帖子,用的是html5的方法上传并预览,但是理解起来有些困难(恕我资质愚钝),按着自己的理解写了一个,下一篇分享一个多图上传预览的
Ps:第一次写,有不足的地方请多多指正



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值