`
hjl416148489
  • 浏览: 22428 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

jQuery+Ajax多图片上传即时显示

阅读更多
一款多图片上传插件:plupload,通过PHP+Ajax实现多图片上传的效果。用户只需要点击选择要上传的图片,然后图片自动上传到服务器上并立即显示在页面上。

首先我们在页面上放置个上传按钮,使用POST提交到ajax.php。#ul_pics 用来显示上传完毕后的图片。
<a class="btn" id="btn">上传图片</a> 最大500KB,支持jpg,gif,png格式。 
<ul id="ul_pics" class="ul_pics clearfix"></ul>

接着,加载jQuery.js和plupload.full.min.js插件。
<script type="text/javascript" src="http://www.sucaihuo.com/Public/js/other/jquery.js"></script> 
<script type="text/javascript" src="plupload/plupload.full.min.js"></script>


当点击按钮“上传图片”后,弹出选择文件对话框,按 "ctrl" 选择多图片上传。然后调用 uploader.start() 方法,开始上传。上传中间过程我们可以用 UploadProgress 方法来显示文件进度,最后通过 FileUploaded 来显示对应的图片。通过浏览器控制台,会发现上传一张图片,会向后台ajax.php请求一次。

var uploader = new plupload.Uploader({ //创建实例的构造方法 
    runtimes: 'html5,flash,silverlight,html4', 
    //上传插件初始化选用那种方式的优先级顺序 
    browse_button: 'btn', 
    // 上传按钮 
    url: "ajax.php", 
    //远程上传地址 
    flash_swf_url: 'plupload/Moxie.swf', 
    //flash文件地址 
    silverlight_xap_url: 'plupload/Moxie.xap', 
    //silverlight文件地址 
    filters: { 
        max_file_size: '500kb', 
        //最大上传文件大小(格式100b, 10kb, 10mb, 1gb) 
        mime_types: [ //允许文件上传类型 
        { 
            title: "files", 
            extensions: "jpg,png,gif" 
        }] 
    }, 
    multi_selection: true, 
    //true:ctrl多文件上传, false 单文件上传 
    init: { 
        FilesAdded: function(up, files) { //文件上传前 
            if ($("#ul_pics").children("li").length > 30) { 
                alert("您上传的图片太多了!"); 
                uploader.destroy(); 
            } else { 
                var li = ''; 
                plupload.each(files, 
                function(file) { //遍历文件 
                    li += "<li id='" + file['id'] + "'><div class='progress'><span class='bar'></span><span class='percent'>0%</span></div></li>"; 
                }); 
                $("#ul_pics").append(li); 
                uploader.start(); 
            } 
        }, 
        UploadProgress: function(up, file) { //上传中,显示进度条 
            $("#" + file.id).find('.bar').css({ 
                "width": file.percent + "%" 
            }).find(".percent").text(file.percent + "%"); 
        }, 
        FileUploaded: function(up, file, info) { //文件上传成功的时候触发 
            var data = JSON.parse(info.response); 
            $("#" + file.id).html("<div class='img'><img src='" + data.pic + "'/></div><p>" + data.name + "</p>"); 
        }, 
        Error: function(up, err) { //上传出错的时候触发 
            alert(err.message); 
        } 
    } 
}); 
uploader.init();

多图片上传演示http://www.sucaihuo.com/js/3.html
分享到:
评论

相关推荐

    PHP+jQuery+Ajax多图片上传

    在多图片上传中,Ajax实现了用户选择图片后即时发送到服务器,而无需刷新整个页面。 **实现过程:** 1. **前端界面**:使用HTML5的`&lt;input type="file" multiple&gt;`创建多选文件输入框,jQuery监听其`change`事件,...

    jQuery+php实现ajax文件即时上传

    当用户通过Ajax上传文件时,PHP脚本会将文件保存到这个目录中。 在实际应用中,为了提高用户体验,还会使用Progress事件来显示上传进度条,以及使用FormData对象来处理文件数据。同时,考虑到安全性,应确保文件...

    PHP + jQuery实现ajax文件即时上传 预览 配套资源

    在这个文件中,我们使用的是jQuery的1.4.1版本,尽管现在有更新的版本,但1.4.1仍然能够支持基本的Ajax上传功能。jQuery的核心函数如`$(document).ready()`用于在页面加载完成后执行代码,`$.ajax()`用于发起Ajax...

    jQuery+PHP头像图片上传预览插件

    在头像上传预览插件中,jQuery用于监听文件输入元素的变化,当用户选择图片后,即时读取文件并创建一个预览图。通过`event.target.files`可以获取到用户选择的文件对象,然后使用`FileReader` API的`readAsDataURL()...

    ASP.Net+C#+AJax+图片剪载上传

    AJAX上传则允许在后台处理文件,避免了页面刷新,提高了用户体验。 6. **CutAndUpload**:这个文件名可能代表项目的核心功能实现,包括客户端的图片剪裁脚本和服务器端处理图片上传的代码。可能包含HTML页面、CSS...

    html5+jquery+canvas 实现调用手机拍照上传图片

    在这个实例中,“html5+jquery+canvas 实现调用手机拍照上传图片”利用了HTML5的File API、jQuery库以及Canvas元素,实现了用户通过手机摄像头拍照并即时上传图片的功能。 1. **HTML5 File API**:File API提供了...

    Jquery+htmlFlash图片上传+滚动条

    4. 图片显示:图片上传后,可能需要在页面上即时显示。这可以通过HTML的`&lt;img&gt;`标签实现,jQuery可以用来动态更改`src`属性,加载新上传的图片。 5. 自由裁剪或编辑图片:Flash可能包含了图片裁剪和编辑的用户界面...

    PHP+jQuery+Ajax实现多图片上传效果

    在本节内容中,我们将深入探讨如何使用PHP、jQuery和Ajax技术实现一个无需刷新页面即可上传多张图片的效果。具体来说,我们会通过jQuery插件jquery.wallform.js来简化前端操作,同时由PHP后端脚本upload.php负责处理...

    PHP实例开发源码—jQuery+html5图片上传并裁切预览 php版.zip

    该压缩包文件“PHP实例开发源码—jQuery+html5图片上传并裁切预览 php版.zip”包含了一个使用PHP、jQuery和HTML5技术实现的图片上传和裁切预览功能的实例。这个实例对于理解如何在Web应用中处理图片上传、前端预览...

    Struts2+ajax+json异步上传图片回显

    在实际开发中,我们可能会用到一些第三方库,比如`ajaxfileupload.js`,这是一个专门用于文件上传的JavaScript库,它简化了Ajax上传的操作,提供了一些回调函数,方便我们在上传过程中处理进度、错误等问题。...

    jquery实现图片即时上传

    `jQuery`是一个广泛使用的JavaScript库,它简化了DOM操作、事件处理以及Ajax交互,因此使用`jQuery`实现图片即时上传是一种常见且高效的方法。本文将深入探讨如何利用`jQuery`来创建一个兼容多种浏览器,包括...

    jquery 上传图片显示

    对于“jQuery 上传图片显示”这一主题,我们主要探讨如何使用 jQuery 实现用户选择图片后在页面上即时预览的功能。这涉及到文件输入元素、JavaScript 事件处理、图片的 Base64 编码以及可能的 AJAX 上传等技术。 ...

    Ajax 四级导航菜单ASP+Access动态版

    网页上的收藏夹及分享功能代码 带当前时间显示的js日历 JavaScript适时监听输入框值的即时变化 自定义QQ在线状态图片 多种拖放元素功能的Js演示代码 - Ajax四级导航菜单ASP+Access动态版 所属分类:ASP源码 | Ajax...

    jQuery+php实现ajax文件即时上传的详解

    本教程将详细解释如何利用jQuery和PHP技术来构建一个Ajax即时上传文件的系统,使得用户在选择本地图片后能够立即上传并展示上传进度,最终显示图片信息。 首先,为了实现这一功能,我们需要引入jQuery库和jquery....

    js+jquery+java实现的头像上传和裁剪

    jQuery的`attr`或`css`方法可以修改img标签的`src`属性,即时显示新头像。 在实现过程中,为了确保兼容性,开发者需要考虑不同浏览器对HTML5 File API的支持情况,以及对AJAX上传、跨域请求等特性的支持。此外,...

    PHP+jQuery+jCrop在线上传裁剪头像(内含源码)

    在头像上传裁剪应用中,jQuery用于处理前端的用户交互,例如监听文件选择事件、发起Ajax请求将图片数据发送到服务器,以及接收裁剪参数并更新显示的预览图像。 3. **jCrop**: jCrop是jQuery的一个插件,专门用于...

    JQuery无刷新上传并显示图片

    "JQuery无刷新上传并显示图片"是一个实用的技术实践,旨在实现用户上传图片后无需刷新页面就能即时预览的效果,这对于提升用户体验至关重要。这个技术涉及到的知识点主要包括以下几个方面: 1. **Ajax异步上传**:...

    jquery图片裁切+PHP文件上传

    同时,为了提高用户体验,可以采用异步上传(Ajax)方式,让文件上传过程不影响页面交互,以及利用Web Workers进行图片处理,减少主线程负担。 总结,"jQuery图片裁切+PHP文件上传"方案结合了前端的灵活性和后端的...

    php+apc+ajax实现大文件上传进度条

    在IT行业中,大文件上传和实时进度显示是用户体验的重要组成部分,尤其是在处理大量数据或多媒体内容时。本项目“php+apc+ajax实现大文件上传进度条”旨在提供一种高效、用户友好的解决方案,通过结合PHP、...

Global site tag (gtag.js) - Google Analytics