layui——上传图片,并实现放大预览

一般上传文件后会返回文件的路径,然后存储到数据库,那么首先实现上传后的放大和删除功能

  function uploadSmallPic() {
        var upload = layui.upload;
        upload.render({
            elem: ‘#smallPic‘
            , url: ‘/upload/uploadPic‘
            , auto: false
            , number: 1
            , bindAction: ‘#uploadSmallPic‘
            , choose: function (obj) {
                var files = obj.pushFile();
                obj.preview(function (index, file, result) {
                    $(‘#smallPicContent‘).append(‘<div  style="width:80px;height: 90px;float: left;margin-right: 5px" class="image-container" id="smallPicContainer‘ + index + ‘">‘ +
                        ‘<div class="delete-css"><button id="upload_smallPic_‘ + index + ‘" style="width: 20px;height: 20px;"><i class="layui-icon ayui-icon-close">‘ +
                        ‘</i></button>‘ +
                        ‘</div>‘ +
                        ‘<img id="showSmallPic‘ + index + ‘"  style="width:80px;height: 80px" src="‘ + result + ‘" alt="‘ + file.name + ‘"></div>‘
                    );
                    //删除某图片
                    $("#upload_smallPic_" + index).bind(‘click‘, function () {
                        $("#smallPicContainer" + index).remove();
                        smallPic="";
                    });
                    //某图片放大预览
                    showMedia("showSmallPic" + index, "image", result);
                })
            },
            done: function (res, index) {
                smallPic = res.data;
                layer.msg(res.msg);
                $(‘#smallPicContent‘).html(‘‘);
                return delete this.files[index];
            }
        });
    }
function showMedia(id, type, src) {    var idBar = "#" + id;    $(idBar).bind(‘click‘, function () {        var width = $(idBar).width();        var height = $(idBar).height();        var scaleWH = width / height;        var bigH = 500;        var bigW = scaleWH * bigH;        if (bigW > 900) {            bigW = 900;            bigH = bigW / scaleWH;        } // 放大预览图片        if (type == "video") {            layer.open({                type: 1,                title: false,                closeBtn: 1,                shadeClose: true,                area: [bigW + ‘px‘, bigH + ‘px‘], //宽高                content: "<video width=‘" + bigW + "‘ height=‘" + bigH + "‘controls=\"controls\" src=" + src + " />"            });        } else {            layer.open({                type: 1,                title: false,                closeBtn: 1,                shadeClose: true,                area: [bigW + ‘px‘, bigH + ‘px‘], //宽高                content: "<img width=‘" + bigW + "‘ height=‘" + bigH + "‘controls=\"controls\" src=" + src + " />"            });        }

    });}//删除图片function deleteMedia(id, index) {    var idBar = "#" + id;    $(idBar).bind(‘click‘, function () {        //从map中删除        imgUrlList.splice(index, 1)        //删除div        $("#container" + index).remove();    });}
 

但在编辑数据时需要实现数据图片回显

  //设置小图
                    if (resp.data.goods.smallPic != null) {
                        smallPic = resp.data.goods.smallPic;
                        $(‘#smallPicContent‘).append(‘<div  style="width:80px;height: 90px;float: left;margin-right: 5px" class="image-container" id="smallPicContainer">‘ +
                            ‘<div class="delete-css"><button id="upload_smallPic_‘ + ‘" style="width: 20px;height: 20px;"><i class="layui-icon ayui-icon-close">‘ +
                            ‘</i></button>‘ +
                            ‘</div>‘ +
                            ‘<img id="showSmallPic‘ + ‘"  style="width:80px;height: 80px" src="‘ + smallPic + ‘"></div>‘
                        );
                        //删除某图片
                        $("#upload_smallPic_").bind(‘click‘, function () {
                            $("#smallPicContainer").remove();
                            smallPic="";
                        });
                        //某图片放大预览
                        showMedia("showSmallPic", "image", smallPic);
                    }

原文地址:https://www.cnblogs.com/fmlyzp/p/10663810.html

时间: 2024-10-06 23:48:31

layui——上传图片,并实现放大预览的相关文章

jQuery Lightbox图片放大预览

简介:jQuery Lightbox图片放大预览代码是一款可以在用户点击页面中的小图片时,将该图片的高清版本以Lightbox的方式放大显示在页面的中间,提高用户的体验度. 效果展示 http://hovertree.com/texiao/jqimg/6/ 效果图如下: 源码下载:http://hovertree.com/h/bjaf/hdhgnftp.htm HTML文件代码: <!DOCTYPE html> <html lang="zh"> <head

一款基于jQuery可放大预览的图片滑块插件

今天给大家分享一款基于jQuery可放大预览的图片滑块插件.这款jQuery焦点图插件的特点是可以横向左右滑动图片,并且点击图片可以进行放大预览,唯一的缺陷是这款焦点图并不能循环切换,如果你有较好的JavaScript功底,可以自己修改代码来实现这一功能.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div id="slider"> <div class="spic"> <img src="images

微信小程序点击图片放大预览

微信小程序点击图片放大预览使用到 wx.previewImage 接口,可以放大.上/下一张 上代码 wxml代码 <view class='content-img' wx:if="{{images}}" > <view wx:for="{{images}}"> <image src="{{item}}" data-src="{{item}}" bindtap="previewImage

html &nbsp; 上传图片,本页预览

直接上代码 <!DOCTYPE html><html><head><meta charset="UTF-8"><title>图片上传预览</title><script type="text/javascript">    function imgPreview(fileDom){        //判断是否支持FileReader        if (window.FileRead

springMVC上传图片,使用jquery预览

首先在html加入代码:其中div用于显示上传后的图片预览 <form id="form" enctype="multipart/form-data"> upload image: <input type="file" id="image_input" name="file" /> <a href="#" onclick="upload()&quo

vue图片点击放大预览

第一种:viewerjs使用介绍(PC.移动端都兼容) 1.先安装依赖 npm install v-viewer --save 2.main.js内引用并注册调用 //main.js import Viewer from 'v-viewer' import 'viewerjs/dist/viewer.css' Vue.use(Viewer); Viewer.setDefaults({ Options: { "inline": true, "button": true

图片放大预览(支持多张,支持双击放大)

使用方法 JZAlbumViewController *album = [[JZAlbumViewController alloc] init]; album.imgArr = self.imgsArray;//可以是图片的url字符串数组,亦可以是UIImage album.currentIndex = tap.view.tag-100; //下标 [self presentViewController:album animated:YES completion:nil]; 源码(或者去文件中

仿淘宝京东商品图片放大预览功能

<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>图片放大镜效果</title> <style> *{ padding: 0; margin: 0; } body{ padding: 50px; position: relative; } .goods { width: 220px; height: 200px; position

【layui】一个简单的layui点击图片进行预览的方法

1 function previewImg(obj) { 2 var img = new Image(); 3 img.src = obj.src; 4 alert(img.src); 5 var imgHtml = "<img src='" + obj.src + "' />"; 6 //捕获页 7 layer.open({ 8 type: 1, 9 shade: false, 10 title: false, //不显示标题 11 //area:['