jsp中点击图片弹出文件上传界面及实现预览实例详解

本文将会详细讲解“jsp中点击图片弹出文件上传界面及实现预览实例详解”的完整攻略。该攻略主要分为两个步骤:实现图片点击上传以及实现图片预览。下面我将分别讲解这两个步骤的具体实现。

实现图片点击上传

对于实现图片点击上传,我们需要用到一个比较流行的JS插件:webuploader。具体实现步骤如下:

1. 引入webuploader库

在jsp页面中引入webuploader库的js和css文件,如下所示:

<link rel="stylesheet" type="text/css" href="webuploader.css">
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="webuploader.js"></script>

2. 添加html元素

在jsp页面中添加一个img标签用来显示图片,以及一个隐藏的input标签用来上传文件,如下所示:

<img id="img_preview" src="default.jpg" style="width:150px;height:150px;cursor:pointer;">
<input id="file_upload" type="file" style="display:none;">

3. 编写JS代码

在jsp页面中添加以下JS代码:

var uploader = new WebUploader.Uploader({
    // 设置自动上传文件
    auto: true,

    // swf文件路径
    swf: 'Uploader.swf',

    // 文件接收服务端。
    server: 'upload.php',

    // 文件上传域的name所指定的值。
    fileVal: 'file',

    // 选择文件的按钮。可选。
    pick: '#img_preview',

    // 上传文件最大限制
    fileSizeLimit: 1024 * 1024 * 5,

    // 文件类型
    accept: {
        title: 'Images',
        extensions: 'gif,jpg,jpeg,bmp,png',
        mimeTypes: 'image/*'
    }
});

// 当文件上传成功后,执行以下代码
uploader.on( 'uploadSuccess', function( file,response ) {
    var url = response.url;

    // 设置img标签的src属性为上传成功后的url
    $("#img_preview").attr("src", url);
});

// 当选择文件后,执行以下代码
$("#file_upload").change(function(){
    uploader.addFiles(this.files);
});

// 当img标签被点击后,弹出选择文件的窗口
$("#img_preview").click(function(){
    $("#file_upload").click();
});

以上代码实现了点击图片后弹出文件上传窗口,并将上传成功后的图片url设置为img标签的src属性值。

实现图片预览

对于实现图片预览,我们可以用另一个比较流行的JS插件:fancybox。具体实现步骤如下:

1. 引入fancybox库

在jsp页面中引入fancybox库的js和css文件,如下所示:

<link rel="stylesheet" href="fancybox.css" type="text/css" media="screen">
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="fancybox.js"></script>

2. 添加html元素

在jsp页面中添加一个img标签,用来显示图片,如下所示:

<img id="img_preview" src="default.jpg" style="width:150px;height:150px;cursor:pointer;">

3. 编写JS代码

在jsp页面中添加以下JS代码:

// 当img标签被点击后,弹出图片预览窗口
$("#img_preview").click(function(){
    $.fancybox({
        href: $("#img_preview").prop("src"), // 获取img标签的src属性值
        type: 'image'
    });
});

以上代码实现了点击图片后弹出图片预览窗口。

示例1:点击图片上传

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>图片上传</title>
    <link rel="stylesheet" type="text/css" href="webuploader.css">
    <script type="text/javascript" src="jquery.min.js"></script>
    <script type="text/javascript" src="webuploader.js"></script>
</head>
<body>
    <img id="img_preview" src="default.jpg" style="width:150px;height:150px;cursor:pointer;">
    <input id="file_upload" type="file" style="display:none;">
    <script type="text/javascript">
        var uploader = new WebUploader.Uploader({
            // 设置自动上传文件
            auto: true,

            // swf文件路径
            swf: 'Uploader.swf',

            // 文件接收服务端。
            server: 'upload.php',

            // 文件上传域的name所指定的值。
            fileVal: 'file',

            // 选择文件的按钮。可选。
            pick: '#img_preview',

            // 上传文件最大限制
            fileSizeLimit: 1024 * 1024 * 5,

            // 文件类型
            accept: {
                title: 'Images',
                extensions: 'gif,jpg,jpeg,bmp,png',
                mimeTypes: 'image/*'
            }
        });

        // 当文件上传成功后,执行以下代码
        uploader.on( 'uploadSuccess', function( file,response ) {
            var url = response.url;

            // 设置img标签的src属性为上传成功后的url
            $("#img_preview").attr("src", url);
        });

        // 当选择文件后,执行以下代码
        $("#file_upload").change(function(){
            uploader.addFiles(this.files);
        });

        // 当img标签被点击后,弹出选择文件的窗口
        $("#img_preview").click(function(){
            $("#file_upload").click();
        });
    </script>
</body>
</html>

示例2:点击图片预览

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>图片预览</title>
    <link rel="stylesheet" href="fancybox.css" type="text/css" media="screen">
    <script type="text/javascript" src="jquery.min.js"></script>
    <script type="text/javascript" src="fancybox.js"></script>
</head>
<body>
    <img id="img_preview" src="default.jpg" style="width:150px;height:150px;cursor:pointer;">
    <script type="text/javascript">
        // 当img标签被点击后,弹出图片预览窗口
        $("#img_preview").click(function(){
            $.fancybox({
                href: $("#img_preview").prop("src"), // 获取img标签的src属性值
                type: 'image'
            });
        });
    </script>
</body>
</html>

以上就是实现“jsp中点击图片弹出文件上传界面及实现预览实例详解”的完整攻略,希望能够对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:jsp中点击图片弹出文件上传界面及实现预览实例详解 - Python技术站

(0)
上一篇 2023年6月15日
下一篇 2023年6月15日

相关文章

  • java根据开始时间结束时间计算中间间隔日期的实例代码

    以下是Java根据开始时间结束时间计算中间时间间隔的实例代码完整攻略。 标题 Java根据开始时间结束时间计算中间时间间隔的实例代码 描述 在Java中,我们经常需要在两个日期之间计算天数、小时数或分钟数。此时需要使用Java提供的时间类库。Java日期类库中的Date和Calendar类提供了很多用于处理日期和时间的方法。下面我们将演示如何使用Java代码…

    Java 2023年6月1日
    00
  • PHP.vs.JAVA

    PHP vs. JAVA 完整攻略 简介 PHP和JAVA都是目前广泛使用的编程语言。它们在某些方面相似,但在其他方面则有很大的不同。这篇文章将讨论PHP和JAVA的区别以及它们各自的优势和缺点。 语法 PHP是一种动态类型语言,不需要声明变量的类型。例如: “`php “` JAVA是一种静态类型语言,每个变量在声明时必须指定它的类型。例如: java…

    Java 2023年6月15日
    00
  • 浅析MMAP零拷贝在RocketMQ中的运用

    浅析MMAP零拷贝在RocketMQ中的运用攻略 什么是MMAP MMAP(Memory Mapped Files)是指通过映射虚拟内存的方式来访问硬盘上的文件。在Linux系统中,使用mmap()函数可以将一个文件映射到进程的地址空间中,从而使得该文件变得像是一个内存块一样可以被直接访问。通过MMAP技术,可以实现一些高效的I/O操作,特别是在大数据量传输…

    Java 2023年5月20日
    00
  • SpringBoot集成MybatisPlus报错的解决方案

    接下来我将为您提供关于“SpringBoot集成MybatisPlus报错的解决方案”的完整攻略。 问题描述 在SpringBoot项目中集成MybatisPlus时,可能会遇到以下报错信息: Caused by: org.springframework.beans.factory.BeanCreationException: Error creating …

    Java 2023年5月19日
    00
  • Nginx使用limit_req_zone对同一IP访问进行限流的方法

    下面将详细讲解“Nginx使用limit_req_zone对同一IP访问进行限流的方法”攻略。 简介 随着Web应用规模的不断增大和用户量的不断增多,对Web服务器的并发访问压力也越来越大。Nginx是一款高性能、高稳定性、低资源占用的Web服务器,常用于处理高并发请求。但在高并发情况下,同一IP对服务器的请求过多可能会引发服务器压力过大从而导致服务器响应缓…

    Java 2023年6月15日
    00
  • Spring实战之Bean的作用域request用法分析

    Spring实战之Bean的作用域request用法分析 什么是Bean作用域 在Spring中,Bean作用域指的是一个Bean实例的创建和存在方式。Spring框架中有多种Bean作用域,包括“singleton”、“prototype”、“request”等。 singleton:Bean在整个应用程序中只有一个实例,即在容器启动时,Spring IO…

    Java 2023年5月19日
    00
  • JSP由浅入深(9)—— JSP Sessions

    下面是关于 JSP Sessions 的完整攻略。 什么是 JSP Sessions 在学习 JSP 开发过程中,我们经常需要存储一些用户的数据,比如用户的登录信息、购物车中的商品、用户的浏览记录等等。这些数据需要在不同的页面之间传递或者在同一个页面中进行共享。而 JSP Sessions 就是一种实现数据共享的技术。 Session 在 JSP 中是一个用…

    Java 2023年6月15日
    00
  • 简介Java的Spring框架的体系结构以及安装配置

    下面我将详细讲解“简介Java的Spring框架的体系结构以及安装配置”的完整攻略。 1. 介绍 Spring框架是一款轻量级的开源Java框架,用于构建企业级应用程序。它提供了全方位的功能来支持开发大型、复杂的企业级应用程序。Spring框架由多个模块组成,每个模块负责提供不同的功能,每个模块都可以独立使用,也可以一起使用,非常灵活。 2. Spring框…

    Java 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部