美文网首页PHP知识
Ajax无刷新图片插件使用

Ajax无刷新图片插件使用

作者: _不能说的秘密i | 来源:发表于2018-09-23 12:52 被阅读6次

无刷新文件上传

使用jquery插件plupload实现无刷新文件上传

官网: https://www.plupload.com/
文档: http://www.phpin.net/tools/plupload/

example

html

<script type="text/javascript" src="./js/plupload.full.min.js"></script>
<div id="up">
    <!-- 文字提醒 -->
    <div id="filelist">Your browser doesn't have Flash, Silverlight or HTML5 support.</div>
    
    <!-- 点击按钮 浏览文件 -->
    <a id="pickfiles" href="javascript:;">浏览图片</a>
    
    <!-- 点击上传 -->
    <a id="uploadfiles" href="javascript:;">点击上传</a>
    
    <!-- 可选 -->
    <div id="imgs"></div>
</div>

js

//实例化    POST   /upload  
var uploader = new plupload.Uploader({
    runtimes: 'html5,flash,silverlight,html4', //默认
    browse_button: 'pickfile', // 设置浏览文件的框体
    url: './upload.php', //设置上传的脚本路径
    //初始化
    init: {
        PostInit: function() {
            //清空列表
            document.getElementById('filelist').innerHTML = '';
            //绑定单击事件开始上传
            document.getElementById('uploadfiles').onclick = function() {
                uploader.start();
                return false;
            };
        },
        //添加元素之后的代码执行   创建显示的文件列表
        FilesAdded: function(up, files) {
            plupload.each(files, function(file) {
                document.getElementById('filelist').innerHTML += '<div id="' + file.id + '">' + file.name + ' (' + plupload.formatSize(file.size) + ') <b></b></div>';
            });
            //自动上传
            // uploader.start();
        },
        //添加上传过程中的代码执行  显示文件上传的百分比
        UploadProgress: function(up, file) {
            document.getElementById(file.id).getElementsByTagName('b')[0].innerHTML = '<span>' + file.percent + "%</span>";
        },
        //错误执行程序  在console.log位置显示错误信息和代号
        Error: function(up, err) {
            document.getElementById('console').innerHTML += "\nError #" + err.code + ": " + err.message;
        },
        //文件上传成功之后的代码执行   success
        FileUploaded: function(up, file, res) {
            //获取服务器返回的数据
            var result = res.response;
            //创建数据
            // eval("var res = " + res.response);
            var res = JSON.parse(res.response);
            //创建图片
            var img = document.createElement('img');
            img.src = res.path;
            img.width = "100";
            //插入图片中
            imgs.appendChild(img);
        }
    }
});
uploader.init();

php


// plupload插件默认的名称是 file
$file = $_FILES['file'];

$dir = "./uploads";
if(!file_exists($dir)) {
    mkdir($dir, 0777, true);
}

$name = time().mt_rand(1000,9999);
$suffix = pathinfo($file['name'], PATH_EXTENTION);

$path = $dir.'/'.$name.$suffix;
if (file_uploaded_move($file['tmp'], $path)) {
    echo $path; // 给JS返回数据
}

相关文章

  • Ajax无刷新图片插件使用

    无刷新文件上传 使用jquery插件plupload实现无刷新文件上传 官网: https://www.plupl...

  • Ajax上传图片,后台使用SpringBoot的Multipar

    Ajax很好用,但是在上传文件这边却总是会出问题。例如,现在想上传一张图片,希望前台无刷新操作,使用Ajax上传,...

  • 第十三天 对商品的评论功能实现

    一、利用ajax实现无刷新评论 二、通过foreach实现评论盖楼,层叠效果 三、robomongod可视化插件操...

  • js ajax相关知识

    ajax :无刷新数据读取使用ajax ,可以读取服务器环境下的文件,使用的时候注意编码 http请求get:更适...

  • Ajax实现无刷新上传图片

    一: 表单部分: 二: js部分(需引入jquery库) 三: 2.php文件后台处理图片 结束!!!

  • 图片上传并回显Ajax异步篇

    图片上传并回显Ajax异步篇 图片如何无刷新的上传到服务器呢?继前两篇文章后,我们来实战一下如何无刷新的异步上传图...

  • vue的一些总结

    插件类 load-lazy 下拉才刷新图片的懒加载 可以去npmjs 官网查找插件使用方法

  • 学习Ajax

    一、Ajax优缺点 优点:①页面局部刷新数据,用户体验感好;②所有浏览器都支持,不需下载额外插件;③使用异步方式与...

  • ajax异步上传图片

    方法不唯一,这里介绍的是 通过ajaxSubmit来完成 ajax对form表单的提交包括图片,目的是无刷新。 -...

  • iOS----制作图片加载动画

    其实由两部分组成使用SDWebImage插件和YYImage插件,将图片没有刷新出来的做一张默认gif图片播放 Y...

网友评论

    本文标题:Ajax无刷新图片插件使用

    本文链接:https://www.haomeiwen.com/subject/ntofoftx.html