返回顶部
首页 > 资讯 > 前端开发 > JavaScript >JavaScript图片上传并预览的完整实例
  • 935
分享到

JavaScript图片上传并预览的完整实例

2024-04-02 19:04:59 935人浏览 独家记忆
摘要

目录一、前端界面是通过jqgrid展示的二、jqgrid特性三、代码实例1、jqgrid页面展示2、模块页面3、ajax实现异步请求五、效果展示总结一、前端界面是通过jqgrid展示

一、前端界面是通过jqgrid展示的

jqgrid是典型的B/C架构(浏览器/服务器模式),服务器端只需提供数据管理,浏览器只需负责数据显示。

jqGrid是用ajax实现对请求和响应的处理,支持局部实时刷新。

二、jqgrid特性

  1. 通过配置url地址数据显示格式
  2. 支持行编辑,列搜索过滤
  3. 支持分页
  4. 添加表单支持文件上传
  5. 链式调用

三、代码实例

1、jqgrid页面展示

$(document).ready(function () {
    $("#gridTable").jqGrid({
        colNames:['标号','班次', '第一班', '第二班', '第三班', '第四班','操作'],
        colModel:[{
                name:'mark',
                index:'mark',
                width: 100,
            },{
                name:'division',
                index:'division',
                width: 100,
            },{
                name:'first_class',
                index:'first_class',
                width: 100,
            }, {
                name:'second_class',
                index:'second_class',
                width: 100,
            },{
                name:'third_class',
                index:'third_class',
                width: 100,
            }, {
                name: 'fouth_class',
                index: 'fouth_class',
                width: 100,
            }, {
                name: 'operate',
                index: 'operate',
                width: 200,
                search: false,
                fORMatter : function(cellvalue,options,rowObject){
                    var id = rowObject.mark
                    var str =   '<button class="btn-info" data-for="pictureModal">'+
                        '图片'+
                        '</button>';
                    return str;
                },
            }
        ],
        sortname : "mark",
        sortorder : "desc",
        viewrecords : true,
        width: 747,
        height: 355,
        rowNum: 10,
        datatype: 'text',
        pager: "#gridPager",
        onSelectRow:function(rowid){
            grid_selectRow = $("#gridTable").jqGrid("getRowData",rowid);
            $("#modal_picture").pictureLoading({});
        },
        ondblClickRow: function(rowid) {
            grid_selectRow = $("#gridTable").jqGrid("getRowData",rowid);
            $("#edit").trigger("click");
        },
    });
 
    jf_initJqgrid();
    jf_click();
 
    function jf_initJqgrid(){
        $.ajax({
            url:"DivisiondefineServlet",
            async:true,   //是否为异步请求
            cache:false,  //是否缓存结果
            type:"GET",
            dataType:"JSON",
            success : function(data){
                $("#gridTable").jqGrid("clearGridData");
                for(var i=0;i<=data.length;i++){
                    $("#gridTable").jqGrid('addRowData',i+1,data[i]);
                }
            }
        })
    }
 
    $('[id^=jqgh_gridTable_]').CSS("height","20px");
 
    function jf_click() {
        $("#add").click(function () {
            $("#modal-divisionAdd").divisionAdd({});
        })
        $("#edit").click(function () {
            $("#modal-divisionEdit").divisionEdit({});
        })
        $("#delete").click(function () {
            jf_delete();
            jf_initJqgrid();
        })
    }
 
    function jf_delete() {
        $.ajax({
            url:"DivisiondefineServlet?action=delete",
            async:true,   //是否为异步请求
            cache:false,  //是否缓存结果
            type:"POST",
            dataType:"text",
            data :{
                "mark1" : grid_selectRow.mark,
            },
        })
    }
});

2、模块页面

;(function($){
    $.fn.pictureLoading = function(options){
        var el = this;
        var opts = {
        }
        var param = $.extend(opts,options);
        var or = new Order(el, param);
    }
 
    var Order = function(el,param){
        this.el=el;
        this.param=param;
        this.orderContent();
        this.bindEvent();
        this.orderSetValue();
    }
 
    Order.prototype = {
        orderContent : function(){
            //创建模态窗体
            this.el.addClass("modal").attr("tabindex","-1").attr("data-backdrop","static");
            html=   '<div class="modal-dialog">'+
                        '<div class="modal-content" style="width: 450px">'+
                            '<div class="modal-header" style="border-bottom:0px;">'+
                                '<div class="row col-sm-12">'+
                                    '<div class="col-sm-8" align="left">'+
                                        '<span></span>'+
                                    '</div>'+
                                    '<div class="col-sm-4" align="right">'+
                                        '<button class="close" data-dismiss="modal" aria-hidden="true" value="HTML">'+
                                        '<span class="blue">×</span>'+
                                        '</button>'+
                                    '</div>'+
                                '</div>'+
                            '</div>'+
                            '<div class="modal-body" style="height:350px;top: -30px">'+
                                '<form  id="form"  action="PictureServlet" method="post">'+
                                    '<span>标号</span><input id="mark" name="mark" disabled/>'+
                                    '<span id="FPicName">'+
                                    '<input id="IronMan" type="file" size="45" name="IronMan" class="avatar input" οnchange="loadfile(); "style="display:none";/>'+
                                    '<img id="viewImg" class="viewImg" src="picture/html.jpg" style="height: 300px;width: 400px;" ="loadPic();" >'+
                                    '</span>'+
                                '</form>'+
                            '</div>'+
                            '<div class="modal-footer">'+
                                '<div align="right">'+
                                    '<div class="btn-group">'+
                                        '<button id="btnSubCancel" class="btn btn-default btn-sm" data-dismiss="modal">'+
                                        '<span>退出</span>'+
                                        '</button>'+
                                    '</div>'+
                                '</div>'+
                            '</div>'+
                        '</div>'+
                    '</div>';
            this.el.html("");
            this.el.append(html);
            this.el.modal("show");
        },
        orderSetValue : function(){
            $("#mark").val(grid_selectRow.mark);
            $.ajax({
                url:"PictureServlet",
                async:true,   //是否为异步请求
                cache:false,  //是否缓存结果
                type:"GET",
                dataType:"json",
                data :{
                    "mark" : $("#mark").val()
                },
                success : function(data){
                    $('#viewImg').attr('src', "../../../picture/" + data);
                },
                error:function () {
                    alert("error");
                }
            })
        },
        //自定义JS点击事件
        bindEvent : function(){
        },
    }
})(Jquery)

3、ajax实现异步请求

function loadfile(){
    var picName = $("#IronMan").val().replace("C:\fakepath\","");
    $.ajax({
        url:"PictureServlet",
        async:true,   //是否为异步请求
        cache:false,  //是否缓存结果
        type:"POST",
        dataType:"json",
        data :{
            "mark" : $("#mark").val(),
            "picName":picName,
        },
    })
    $('#viewImg').attr('src', "../../../picture/" + picName);
}

4、servlet存储并在本地存储图片文件

protected void doPost(httpservletRequest request, HttpServletResponse response) throws  IOException {
        System.out.println("servlet");
        response.setContentType("text/html");
        request.setCharacterEncoding("utf-8");
        response.setCharacterEncoding("utf-8");
        int mark = Integer.parseInt(request.getParameter("mark"));
        String picName = request.getParameter("picName");
        service.insertPic(mark,picName);
 
        String directory = "E:/GDKJ/others/imooc_pic";
        File file = new File(directory,picName);
        if(file.exists()) {
            System.out.println(file.getAbsolutePath());
            System.out.println(file.getName());
            System.out.println(file.length());
        } else {
            file.getParentFile().mkdirs();
            try {
                file.createNewFile();
            } catch (IOException e) {
                System.out.println("创建新文件时出现了错误。。。");
                e.printStackTrace();
            }
        }
    }

五、效果展示

总结

到此这篇关于javascript图片上传并预览的文章就介绍到这了,更多相关JavaScript图片上传并预览内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: JavaScript图片上传并预览的完整实例

本文链接: https://lsjlt.com/news/163222.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • JavaScript图片上传并预览的完整实例
    目录一、前端界面是通过jqgrid展示的二、jqgrid特性三、代码实例1、jqgrid页面展示2、模块页面3、ajax实现异步请求五、效果展示总结一、前端界面是通过jqgrid展示...
    99+
    2024-04-02
  • javascript input图片上传及预览,FileReader预览图片
    FileReader是前端进行文件处理的一个重要的Api,特别是在对图片的处理上,如果你想知道图片的处理原理,你就永远不可能绕过它。 <!DOCTYPE html> ...
    99+
    2024-04-02
  • javascript实现上传图片并预览的效果实现代码
    今天用alphaimageloader滤镜的src属就是其中的主角它将使用绝对或相对url地址指定背景图像。假如忽略此参数,滤镜将不会作用。复制代码 代码如下: <!docty...
    99+
    2022-11-21
    上传图片 预览
  • javascript如何实现图片预览和上传
    小编给大家分享一下javascript如何实现图片预览和上传,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!具体内容如下var dailiApply = { ...
    99+
    2024-04-02
  • vue.js如何实现图片转Base64上传图片并预览
    这篇文章主要为大家展示了“vue.js如何实现图片转Base64上传图片并预览”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vue.js如何实现图片转Base6...
    99+
    2024-04-02
  • Ajax 中怎么上传图片并预览
    Ajax 中怎么上传图片并预览,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。html:<!DOCTYPE ht...
    99+
    2024-04-02
  • 使用Ajax怎么上传图片并预览
    使用Ajax怎么上传图片并预览?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。最近在使用ThinkPHP5开发项目中客户有一个需求是在图片上传时附带预览功能。虽然...
    99+
    2023-06-08
  • nodejs 图片预览和上传的示例代码
    本文介绍了nodejs 图片预览和上传的示例代码,分享给大家,具体如下: 效果如下: 前言 一般在上传图片之前需要暂存在本地预览一下。 前端图片预览用的是 FileReader的readAsDataUR...
    99+
    2022-06-04
    示例 上传 代码
  • html5怎么实现图片上传预览
    这篇文章主要介绍“html5怎么实现图片上传预览”,在日常操作中,相信很多人在html5怎么实现图片上传预览问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”html5怎么实现图...
    99+
    2024-04-02
  • angularjs怎么实现多张图片上传并预览功能
    这篇文章主要介绍angularjs怎么实现多张图片上传并预览功能,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!具体内容如下directive.js    angu...
    99+
    2024-04-02
  • Html5怎么实现上传本地图片并预览功能
    小编给大家分享一下Html5怎么实现上传本地图片并预览功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!最近工作中需要H5上传显...
    99+
    2024-04-02
  • jQuery如何实现点击头像上传并预览图片
    这篇文章主要为大家展示了“jQuery如何实现点击头像上传并预览图片”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“jQuery如何实现点击头像上传并预览图片”这...
    99+
    2024-04-02
  • React+ajax+java如何实现上传图片并预览功能
    小编给大家分享一下React+ajax+java如何实现上传图片并预览功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!之前有在网上找ajax上传图片的资料,大部...
    99+
    2023-06-08
  • AngularJs如何实现上传前预览图片
    小编给大家分享一下AngularJs如何实现上传前预览图片,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!demo.html:&l...
    99+
    2024-04-02
  • Vue+SSM实现图片上传预览效果
    现在的需求是:有一个上传文件按钮,当我们点击按钮时,可以选择需要上传的文件,确定后图片显示在界面上。 说明:本项目前端使用的Vue,后台用的SSM搭建的,服务器是Tomcat,数据库...
    99+
    2024-04-02
  • thinkphp5加layui实现图片上传功能(带图片预览)
    目录1、引入文件2、HTML部分3、功能实现4、后台处理图片上传保存内容网站中很多表单都会用到上传图片,logo,照片,用户也会上传图片,这个时候网站就需要一个上传图片的功能,而且在...
    99+
    2023-03-11
    thinkphp5加layui实现图片上传功能 layui图片上传 thinkphp5图片上传
  • 详解nodejs实现本地上传图片并预览功能(express4.0+)
    Express为:4.13.1 multyparty: 4.1.2 代码主要实现本地图片上传到nodejs服务器的文件下,通过取图片路径进行图片预览 写在前面:计划实现图片上传预览功能,但是本地图片上传所...
    99+
    2022-06-04
    上传图片 详解 功能
  • Vue+UpLoad实现上传预览和删除图片的实践
    1、用vue+Element完成一个图片上传、点图预览、加删除功能,如图: 2.首先我们再组件中引入这一段代码,每个属性的使用也都放在这里了: <el-upload cl...
    99+
    2024-04-02
  • 如何实现Ajax上传图片及上传前先预览功能
    这篇文章将为大家详细讲解有关如何实现Ajax上传图片及上传前先预览功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。上传之前的预览方式一先来说说图片上传之前的预览问题。这...
    99+
    2024-04-02
  • JS+HTML5如何实现上传图片预览效果
    这篇文章给大家分享的是有关JS+HTML5如何实现上传图片预览效果的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。示例代码如下:<!DOCTYPE HTML>...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作