`

html5 多图预览

阅读更多

html5 多图预览



 

如何实现呢?

页面加载完成之后,绑定事件:

 //预览图片,没有真正上传
            com.whuang.hsj.previewLocalDiskImageMultiple($('#pic-file'), $("#previewImage"),function () {
                if(uploadStatus==0) {//只要ajax上传成功一次,则不再校验.防止点击了选择图片,忘了ajax上传图片的情况
                    uploadStatus=1;
                }
            },6/*单位是M*/);

 com.whuang.hsj.previewLocalDiskImageMultiple的实现如下:

com.whuang.hsj.imgURL = null;
var URL = null;
var getImgUrl = function (file) {
    URL = window.URL || window.webkitURL;
    /*if (com.whuang.hsj.imgURL != null) {
     URL.revokeObjectURL(com.whuang.hsj.imgURL);//free the memory;
     }*/
    com.whuang.hsj.imgURL = URL.createObjectURL(file);
//                    $('body').append($('<img/>').attr('src', imgURL));
    var imgUrl2 = com.whuang.hsj.imgURL;
    return imgUrl2;
};

com.whuang.hsj.previewLocalDiskImageMultiple = function ($fileElement, $previewImage, callback, maxSizeM) {
    $fileElement.change(function (event) {
        var eventTarget = com.whuang.hsj.getSrcElement(event);
        var files = eventTarget.files;
        if (!maxSizeM) {
            maxSizeM = 2;
        }
        if (files && files.length > 0) {
            var $parentDiv = $previewImage.parent();
            $parentDiv.empty();
            for (var i = 0; i < files.length; i++) {
                var file = files[i];
                //console.log(file);

                /*if (file.size > 1024 * 1024 * maxSizeM) {
                 alert('image size Can\'t be more than ' + maxSizeM + 'MB');
                 event.returnValue = false;
                 return false;
                 }*/
                var imgUrl2 = getImgUrl(file);
                if ($parentDiv && $parentDiv.length && imgUrl2) {
                    $parentDiv.append($('<img style="max-width: 100%;" alt="暂无预览图片" id="previewImage" src="' + imgUrl2 + '"><hr color="red">'));
                }
            }

            if (typeof callback === 'function') {
                callback(com.whuang.hsj.imgURL);
            }
        }
    });
};

 上传图片的表单:

<form action="/image/upload" id="pic-form"  method="post" enctype="multipart/form-data" >
                            <input type="file" id="pic-file" name="image223" multiple > <br><br>
                            <input type="button" onclick="ajaxUploadFile(this)" id="upload_pic" value="ajax上传图片" > <span  id="upload_result_tip" ></span>
                        </form>

 

可以直接调用js:

http://blog.yhskyc.com/convention2/static/js/common_util.js

 

  • 大小: 435.5 KB
0
1
分享到:
评论

相关推荐

    html5多图片上传预览

    2. **多图选择**:HTML5的`&lt;input type="file"&gt;`元素支持`multiple`属性,当设置此属性时,用户可以选择多个文件,非常适合用于多图片上传。 3. **预览效果**:通过FileReader的`onload`事件,当文件读取完成后,...

    html多图片上传并在线预览

    html多图片上传并在线预览 用javascript实现

    html5 div图片放大插件手机端图片放大预览效果

    html5 div图片放大插件手机端图片放大预览效果 html5 div图片放大插件手机端图片放大预览效果 html5 div图片放大插件手机端图片放大预览效果 html5 div图片放大插件手机端图片放大预览效果

    html5实现多图片上传预览(源码,已测试)

    在这个“html5实现多图片上传预览(源码,已测试)”的项目中,我们主要关注的是HTML5的新特性——File API和拖放API,它们允许我们在不借助服务器端处理的情况下实现本地文件的读取和预览。 首先,File API是HTML5...

    html 网页图片全屏预览 插件

    4. **缩略图**:提供缩略图预览,用户可以快速切换到想要查看的图片。 5. **视频支持**:除了图片,lightGallery还支持视频预览,可以在同一框架内播放YouTube、Vimeo等平台的视频。 6. **自定义选项**:插件提供...

    html5上传视频和图片 可预览上传 手机端HTML5+js 多文件上传

    在这个场景中,我们关注的是HTML5在上传视频和图片方面的应用,特别是如何实现预览和多文件上传功能。 在HTML5中,`&lt;input type="file"&gt;`元素得到了极大的增强,它允许用户选择本地文件进行上传,并且可以通过...

    多图片上传预览控件

    总结来说,“多图片上传预览控件”是结合了`jQuery`、HTML5 File API和Ajax技术的用户交互组件,实现了文件选择、预览、上传等一系列功能,极大地提升了用户在网页上的交互体验。通过理解和掌握这些技术,开发者可以...

    PC端多图预览上传.rar

    在PC端进行多图预览和上传功能是网页开发中常见的需求,尤其在社交媒体、电商平台或者内容管理系统等应用中。本资源"PC端多图预览上传.rar"提供了一个解决方案,它包含一个预览和上传多张图片的插件,并且能够与PHP...

    HTML5通过swiper实现图片预览

    Swiper是一款流行的触摸滑动库,特别适合在移动设备上创建滑动效果,如幻灯片、轮播图以及我们这里的图片预览。 Swiper库不仅提供了基本的滑动功能,还支持许多高级特性,例如分页指示器、自动播放、动态加载、3D...

    多图预览主要代码

    在IT领域,尤其是在Web开发中,"多图预览"是一项常见的需求,它允许用户在上传或选择图片之前预览图像。在这个场景下,我们主要关注的是JavaScript(js)技术,因为它是实现这一功能的核心语言。本文将深入探讨如何...

    thinkphp3.2多图上传预览+模板提交到后台

    在多图上传过程中,预览功能通常是通过HTML5的File API来实现的。用户选择图片后,浏览器可以在本地对图片进行预览,无需实际发送到服务器。这降低了服务器负载,提高了用户体验。在`fabu.html`中,可能包含了用于...

    多图片上传预览插件

    1. HTML5 API:多图片上传预览主要依赖HTML5的File API和FormData API。File API提供了读取、操作和处理文件的能力,FormData API则用于异步上传文件。 2. JavaScript:JavaScript负责处理用户交互、文件读取、预览...

    asp实现多图片上传并预览功能程序源码.zip

    资源名:asp实现多图片上传并预览功能程序源码.zip 资源类型:程序源代码 源码说明: 基于asp的多图片上传功能 并实现预览功能的程序源码 包含完整代码和注释很适合学习借鉴 适合人群:新手及有一定经验的开发人员

    vue iview多张图片大图预览、缩放翻转

    本文所介绍的“vue iview多张图片大图预览、缩放翻转”技术,主要围绕如何利用Vue.js和iView框架实现一个带有缩放和翻转功能的图片预览组件。 ### 标题解析 标题“vue iview多张图片大图预览、缩放翻转”直接明了...

    HTML5 图片上传 带预览功能 (pc,手机都能适配)

    HTML5图片上传带预览功能是一项重要的Web前端技术,它极大地改善了用户在网页上的交互体验,特别是对于需要上传图片的场景,如社交媒体、在线购物、个人资料编辑等。这项技术充分利用了HTML5的新特性,使得在PC和...

    Asp.net多图上传带预览和进度条

    在Asp.net开发中,实现多图上传带预览和进度条功能是一项常见的需求,尤其在网站内容管理、用户交互等方面。这个功能可以提供更好的用户体验,让用户了解文件上传的实时状态,同时允许用户在上传前预览图片,确认...

    HTML5实现多文件图片预览上传实例代码

    在HTML5中,实现多文件图片预览和上传的功能是通过结合File API、FormData对象以及Ajax技术来完成的。这个实例代码正是展示了如何利用这些特性创建一个用户友好的图片上传体验。 首先,我们需要理解HTML5中的File ...

    jQuery带删除功能多图片上传预览插件

    **jQuery带删除功能多图片上传预览插件详解** 在Web开发中,用户常常需要上传图片,特别是社交媒体、电子商务和内容管理系统等应用。为了提供更好的用户体验,开发人员通常会使用前端预览技术,让用户在正式上传...

Global site tag (gtag.js) - Google Analytics