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实现解析zip压缩包并获取文件内容

    针对“Java实现解析zip压缩包并获取文件内容”,可以按照以下步骤进行: 导入java.util.zip包: 使用ZipFile类需要导入java.util.zip下的所有类。 import java.util.zip.*; 打开zip文件: 使用ZipFile类,可以打开zip压缩文件。 ZipFile zip = new ZipFile("t…

    Java 2023年5月19日
    00
  • 最流行的java后台框架spring quartz定时任务

    下面是最流行的Java后台框架Spring Quartz定时任务的完整攻略: 什么是Spring Quartz定时任务 Spring Quartz定时任务是一款高性能,可靠的定时任务调度框架,并且它完全是在Java中实现的。通过使用Spring Quartz,我们可以轻松地实现各种复杂的任务调度,并且它还支持集群部署,具有很好的扩展性。 基本使用步骤 Spr…

    Java 2023年5月31日
    00
  • SpringBoot+MyBatis+AOP实现读写分离的示例代码

    这里就详细讲解一下”SpringBoot+MyBatis+AOP实现读写分离”的完整攻略。本文会介绍什么是读写分离,如何使用SpringBoot、Mybatis和AOP实现读写分离,以及两个示例说明。 什么是读写分离 首先,我们需要了解一下什么是读写分离。在高并发的系统中,读取数据库的操作通常是多余写入的操作的。因此,将查询请求分发到只读数据库,减少了对主数…

    Java 2023年5月19日
    00
  • 什么是Java认证授权?

    Java认证和授权是Java安全机制中的两个重要概念。认证(Authentication)是指验证用户身份的过程,确定他们是否有权访问一些特定的资源或服务。而授权(Authorization)是指在确定用户身份之后,确定他们是否有权执行特定的操作。Java提供了一些API和框架,用于简化和处理身份验证和授权的复杂性。 一些常见的Java认证授权机制包括: J…

    Java 2023年5月11日
    00
  • 玩转spring boot MVC应用(2)

    “玩转springbootMVC应用(2)”是一个关于如何使用Spring Boot构建Web应用程序的攻略。在本攻略中,我们将详细讲解如何使用Spring Boot MVC来构建Web应用程序,并提供两个示例来演示如何使用Spring Boot MVC。 添加依赖 首先,我们需要在pom.xml文件中添加Spring Boot MVC的依赖。以下是一个示例…

    Java 2023年5月14日
    00
  • java虚拟机学习笔记基础篇

    “Java虚拟机学习笔记基础篇”攻略 简介 “Java虚拟机学习笔记基础篇”是一本深入介绍Java虚拟机的书籍,对于想要深入学习Java的开发者来说非常有用。本攻略将介绍如何有效地阅读和学习这本书。 学习步骤 1. 目录概览 首先,我们需要对书的目录有一个整体的了解。可以逐章浏览目录,熟悉每章的主要内容。在阅读过程中,随时参照目录,掌握学习的大方向。 2. …

    Java 2023年5月23日
    00
  • java实现输入输出流代码分享

    下面就来为您详细讲解一下关于Java 实现输入输出流的攻略及代码分享。 什么是Java输入输出流? Java输入输出流主要是用于从文件、内存、网络等数据源中读取数据、写入数据到数据目的地的机制。在Java中,输入输出操作使用stream(流)完成。流可以被简单地定义为一组字节,这些字节可以是自硬件设备中读取的,或者是从文件、内存、网络连接等其他源中读取的。 …

    Java 2023年5月19日
    00
  • 浅谈一下maven优缺点及使用和特点

    浅谈一下maven优缺点及使用和特点 Maven 是一款构建工具,它提供了标准化的构建过程,能够帮助开发者高效地构建、打包和部署项目。以下是 Maven 的优缺点及使用和特点: Maven 优点 依赖管理:Maven 可以自动下载项目中所需的依赖项,并对它们进行统一的管理。使用 Maven 可以方便地添加、删除、升级依赖库。 构建工具:Maven 支持多种构…

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