DAY19-上传头像并预览

一个简单的注册页面:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href="/static/bs/css/bootstrap.css">
    <script src="/static/js/jquery-3.2.1.min.js"></script>
    <style>
        #avatar{
       /*隐藏上传按钮-*/
            display: none;
        }
       /*设置预览头像尺寸*/
        .avatar_img{
            width: 60px;
            height: 60px;
            margin-left: 10px;
        }
        .error{
            color: red;
        }
    </style>
</head>
<body>

<h3>注册页面</h3>
<div class="container">
    <div class="row">
        <div class="col-md-6 col-md-offset-3">
            <form>
                {% csrf_token %}
                <div class="form-group">
                    <label for="user">用户名</label>
                    <input type="text" id="user" class="form-control"><span class="error pull-right"></span>
                </div>
                 <div class="form-group">
                    <label for="pwd">密码</label>
                    <input type="password" id="pwd"  class="form-control"><span class="error pull-right"></span>
                </div>
                <div class="form-group">
                    <label for="repeat_pwd">确认密码</label>
                    <input type="password" id="repeat_pwd"  class="form-control"><span class="error pull-right"></span>
                </div>

                <div class="form-group">
                    <label for="email">邮箱</label>
                    <input type="email" id="email"  class="form-control"><span class="error pull-right"></span>
                </div>
                 <div class="form-group">
                 <!--label实现点击图片就能上传头像-->
                 <!--img显示默认图片-->
                     <label for="avatar">头像 <img src="/static/img/default.png" alt="" class="avatar_img"></label>

                     <input type="file" id="avatar"  class="form-control">
                </div>

                <input type="button" value="submit" class="reg_btn btn btn-default">
                <span class="error"></span>
            </form>
        </div>
    </div>
</div>

<script>

    // 头像预览
   $("#avatar").change(function () {
       //FileReader可以读出头像在客户端存放路径
       var reader=new FileReader();
       //获取头像对象
       var choose_file=$(this)[0].files[0];
       //用reader对象录取图片对象
       reader.readAsDataURL(choose_file);
       //reader需要一定时间,onload等待reader读完
       reader.onload=function(){
             //result获取图片路径,将src的默认图片地址更换为本地头像路径
             $(".avatar_img").attr("src",reader.result)
       };

   })

     // 注册
    $(".reg_btn").click(function () {

        var formdata=new FormData();
        formdata.append("user",$("#user").val());
        formdata.append("pwd",$("#pwd").val());
        formdata.append("email",$("#email").val());
        formdata.append("repeat_pwd",$("#repeat_pwd").val());
        formdata.append("avatar_img",$("#avatar")[0].files[0]);

        $.ajax({

             url:"",
             type:"post",
             contentType:false,
             processData:false,
             data:formdata,
             success:function (data) {
                 // console.log(data);
                 var data=JSON.parse(data);

                 if (data.user){
                     console.log("OK")
                 }else{
                     // 清空操作
                     $("form span.error").html("")

                     console.log(data.msg)
                     $.each(data.msg,function (filed,error_list) {

                         $("#"+filed).next().html(error_list[0])
                     })

                 }

             }

        })
    })

</script>

</body>
</html>

原文地址:https://www.cnblogs.com/guoyunlong666/p/9038591.html

时间: 2024-07-31 06:08:47

DAY19-上传头像并预览的相关文章

django 上传头像并预览 3选1

注册页面的头像上传 register.html<!DOCTYPE html> 1 <html lang="en"> 2 <head> 3 <meta charset="UTF-8"> 4 <title>Title</title> 5 </head> 6 <body> 7 <div style="margin-left: 30px; margin-top:

文件上传之图片预览

一.业界现状分析 有时候我们需要在上传图片之前为用户提供图片预览的功能,HTML5规范出来之前,由于缺少原生的File API支持,我们需要借助Flash或者浏览器插件来满足这种需求.有了HTML5,我们可使用URL或者FileReader对象实现预览功能. 二.应用场景 图片分享类的应用,如Flickr,Facebook.相册应用,如:QQ相册. 虽然139邮箱没有合适的应用场景,但是可将技术预研的成果作为技术储备,好东西总有用得着的时候. 三.编码实现 方式一:window.URL (1).

2016/4/19 ①单个文件上传 ②上传图片后 预览图片

1,f1.php <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <!-- 作业:在网上找上传图片预览的代码 上传服务器 再预览--> <form action="f1chuli.php&q

confluence上传文件附件预览乱码问题(linux服务器安装字体操作)

在confluence上传excel文件,预览时发现乱码问题主要是因为再上传文件的时候一般是Windows下的文件上传,而预览的时候,是linux下的环境,由于linux下没有微软字体,所以预览的时候无法识别文档字体,所以才会出现乱码.还比如某个业务有个功能生成图片,结果图片里的字全变空格了,这也是服务器上没相应的字库造成的.解决办法:在服务器上安装中文字体.操作方法如下: 1)先安装想要的字体, 如楷体等, 从本机"c盘->Windows-Fonts"文件夹里复制simkai字

关于confluence上传文件附件预览查看时出现乱码的问题解决办法

在confluence上传excel文件,预览时发现乱码问题主要是因为再上传文件的时候一般是Windows下的文件上传,而预览的时候,是linux下的环境,由于linux下没有微软字体,所以预览的时候无法识别文档字体,所以才会出现乱码.还比如某个业务有个功能生成图片,结果图片里的字全变空格了,这也是服务器上没相应的字库造成的. 1.解决办法:在服务器上安装中文字体.操作方法如下: 1)先安装想要的字体, 如楷体等, 从本机"c盘->Windows-Fonts"文件夹里复制simk

input 文件上传实现本地预览

上传图片 本地预览 获取图片大小 上传视频 本地预览 获取视频 duration 视频大小 图片上传 主要涉及内容 input accept filesList URL.createObjectURL() URL.revokeObjectURL() input file <label for='upload'></label> // ::before :: after 用于扩展可点击区域 <input type="file" id="upload

图片上传前的预览(PHP)

1.先创建一个file表单域,我们需要用它来浏览本地文件.<form name="form1" id="form1" method="post" action="upload.php"><input type="file" name="file1" id="file1" /></form>2.试下效果: 判断文件类型:当用户选择了一

【Android源码解析】--选择多张图片上传多图预览

最近做了选择多图并且上传服务器,在网上找了一些demo,适当的做了一下调整,用过了不能忘记,记下来以后还能多看看,本人觉得自己的博客有些渣渣,还希望大家不要介意啊,哪里有错误希望大家及时指正. 好了下面具体的分析一下:(想要做出功能,需求分析是必不可少的,需求.逻辑弄懂了再上手写代码,思路会很清晰的) 1.多图上传首先得选择图片(这里项目需求是既可以拍照上传也可以从相册中选择) 2.拍照上传很简单了网上也有很多例子,调用照相机,返回uri,获取图片 3.从相册中选择图片 3.1 获取手机中的所有

文件上传(无预览模式版)

文件上传是网页的基本功能之一,这一章我们将讲解无预览模式版本 第一:网页表单显示 <body> <h1>文件上传</h1> <form action="chuli.php" method="post" enctype="multipart/form-data"> <input type="file" name="file"/> <input