base64图片上传

图片上传

<!DOCTYPE html>
<html>

    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
        <link rel="stylesheet" href="css/reset.css" />
        <link rel="stylesheet" href="css/grzl.css" />
        <title>个人资料</title>
        <style>
            .form-btn {
                margin-top: 12rem;
            }
        </style>
    </head>

    <body>
        <!--header-->
        <div class="header">
            <i class="header-calendar" id="return"></i>
            <h3><span>个人资料</span></h3>
        </div>
        <form>
            <ul class="tab-nav">
            </ul>
            <div class="form-btn">
                <input type="button" value="保存" id="form-btn" />
            </div>
        </form>
        <script type="text/javascript" src="js/jquery.1.10.2.js"></script>
        <script type="text/javascript" src="js/template-web.js"></script>
        <script type="text/javascript" src="layer/layer.js" ></script>
        <script type="text/javascript" src="js/mui.min.js" ></script>
        <script type="text/javascript" src="js/plusready.js" ></script>
        <script id="main" type="text/html">
            <li>
                <span>头像</span>
                <div id="prvid" class="prvid tab-nav-fr">
                    {{if data.data.user_img==="http://kt106.zs.ktwlkj.com"}}
                        <img src="img/goods.jpg" />
                    {{else}}
                        <img src={{data.data.user_img}} />
                    {{/if}}
                </div>

                <input type="file" id="files" onchange="previewImage(this, ‘prvid‘)" />
            </li>
            <li>
                <span>用户ID</span>
                <em class="tab-nav-fr">{{data.data.id}}</em>
            </li>
            <li>
                <span>昵称</span>
                <input type="text" class="tab-nav-fr" id="username" placeholder="请输入用户名" value={{data.data.username}} >
            </li>
        </script>
        <script>

            //返回上一页
            !(function() {
                var goReturn = document.getElementById("return");
                goReturn.onclick = function() {
                    window.history.go(-1)
                }
            })()

            var user_img; //图片

            //把图片转成base64
            function previewImage(file, prvid) {
                /* file:file控件
                 * prvid: 图片预览容器
                 */
                var tip = "Expect jpg or png or gif!"; // 设定提示信息
                var filters = {
                    "jpeg": "/9j/4",
                    "gif": "R0lGOD",
                    "png": "iVBORw"
                }
                var prvbox = document.getElementById(prvid);
                prvbox.innerHTML = "";
                if(window.FileReader) { // html5方案
                    for(var i = 0, f; f = file.files[i]; i++) {
                        var fr = new FileReader();
                        fr.onload = function(e) {
                            var src = e.target.result;
                            if(!validateImg(src)) {
                                //alert(tip);
                                mui.toast(‘图片格式错误‘);
                            } else {
                                showPrvImg(src);
                            }
                        }
                        fr.readAsDataURL(f);
                    }
                } else { // 降级处理

                    if(!/\.jpg$|\.png$|\.gif$/i.test(file.value)) {
                        //alert(tip);
                        mui.toast(‘图片格式错误‘);
                    } else {
                        showPrvImg(file.value);
                    }
                }

                function validateImg(data) {
                    var pos = data.indexOf(",") + 1;
                    for(var e in filters) {
                        if(data.indexOf(filters[e]) === pos) {
                            return e;
                        }
                    }
                    return null;
                }
                //图片
                function showPrvImg(src) {
                    var img = document.createElement("img");
                    img.src = src;
                    prvbox.appendChild(img);
                    user_img = src //向后台传输的图片
                }
            }

            var api = localStorage.getItem("api");
            $.post(api + "/api/user/user_index", {
                    Authorization: localStorage.getItem("token")
                },
                function(data) {
                    console.log(data);
                    var tabNav = document.querySelector(".tab-nav");
                    tabNav.innerHTML = template(‘main‘, {
                        data
                    });
                });

            //保存数据
            $("#form-btn").click(function() {
                var username=$("#username").val();
                if(!username){
                    return layer.msg("用户名不能为空");
                }
                $.post(api + "/api/user/member_update", {
                        user_img: user_img,
                        username: username,
                        Authorization: localStorage.getItem("token")
                    },
                    function(data) {
                        location.href = "wd.html";
                    });

            })
        </script>

    </body>

</html>

原文地址:https://www.cnblogs.com/zimengxiyu/p/10072384.html

时间: 2024-08-25 20:08:30

base64图片上传的相关文章

base64图片上传,推到又拍云

Html部分 <label> <img id="nvhai" src="{$agent.id|get_headimg}" height="70px" width="70"> <input style="display:none" id="tou" type="file" onchange="previewFile()"

base64图片上传处理方式

前台传图片的base64格式,后台处理方式//处理图片信息 返回对应的路径public function uploadBaseIma($imgArr){ $result = array(); //将路径直接设置在uploads下 if($imgArr){ foreach($imgArr as $k => $v){ if($v){ //判断上传的是否为原地址 $a = preg_match('/.*(\.png|\.jpg|\.jpeg|\.gif)$/', $v); if($a){ //是就存储

laravel结合七牛实现base64的图片上传

确保传到后台的是纯base64字符串而不是以data开头的 //base64图片上传 public function uploadCompressImg(Request $request) { $base64 = preg_replace("/\s/",'+',$request->input('img')); $img = base64_decode($base64); $disk = \Storage::disk('qiniu'); //使用七牛云上传 $img_name =

ASP.NET Core 简单实现七牛图片上传(FormData 和 Base64)

七牛图片上传 SDK(.NET 版本):https://developer.qiniu.com/kodo/sdk/1237/csharp UpoladService示例代码: public class UpoladService : IUpoladService {     private readonly static string[] _imageExtensions = new string[] { ".jpg", ".png", ".gif&quo

MVC微信浏览器图片上传(img转Base64)

因公司业务需要,需要做一个微信公众号里的图片上传功能,主要用到的技术就是 img转base64 上到服务器 话不多说, 贴代码 先看前端显示出来的东西 OK 图片不重要,看代码 <!--微信图片上传--> <section class="logo-license"> <div class="half"> <div class="uploader"> <a class="license

js实现图片上传预览功能,使用base64编码来实现

实现图片上传的方法有很多,这里我们介绍比较简单的一种,使用base64对图片信息进行编码,然后直接将图片的base64信息存到数据库. 但是对于系统中需要上传的图片较多时并不建议采用这种方式,我们一般会选择存图片路径的方式,这样有助于减小数据库压力,base64 编码后的图片信息是一个很长的字符串,一般我们使用longText类型来将其存入数据库. html代码如下: <div class="col-sm-6"> <img id="headPortraitI

使用canvas给图片添加水印, canvas转换base64,,canvas,图片,base64等转换成二进制文档流的方法,并将合成的图片上传到服务器,

一,前端合成带水印的图片 一般来说,生成带水印的图片由后端生成,但不乏有时候需要前端来处理.当然,前端处理图片一般不建议,一方面js的处理图片的方法不全,二是有些老版本的浏览器对canvas的支持度不够. 下面我们就说说,利用canvas 生成带水印的图片. 1.我们要实现一下效果 2.创建一个canvas var canvas = document.createElement('canvas'); var time = new Date(); var logoCanvas =time+' '+

小程序 图片转base64然后上传的坑点

图片上传要用到upng.js const self = this const ctx = wx.createCanvasContext('myCanvas') const platform = wx.getSystemInfoSync().platform const imgWidth = 60, imgHeight = 60; wx.chooseImage({ success: res => { //生成的图片临时路径画成canvas ctx.drawImage(res.tempFilePat

.Net Core 图片上传FormData和Base64

缓冲和流式传输是上传文件的两种常用方案,这里主要演示流式传输. 1.Net Core MVC Form提交方式: 前端页面 form表单提交: 1 <form id="uploadForm"> 2 图片上传: <input type="file" name="file" multiple value="选择" onchange="doUpload()" id="ajaxfile&