简介:

  通过webuploader 实现简单的图片上传功能,支持多张图上传

  官方文档传送门:http://fex.baidu.com/webuploader/getting-started.html#%E5%9B%BE%E7%89%87%E4%B8%8A%E4%BC%A0

引入资源:

  使用Web Uploader文件上传需要引入三种资源:JS, CSS, SWF。

<!--引入CSS-->
<link rel="stylesheet" type="text/css" href="webuploader文件夹/webuploader.css"> <!--引入JS-->
<script type="text/javascript" src="webuploader文件夹/webuploader.js"></script> <!--SWF在初始化的时候指定,在后面将展示-->

Html:

<div class="upload_pic">
<div id="fileList" class="uploader-list"></div>
<div id="filePicker">选择图片</div>
<div class="webuploader-pick go_upload" style="margin-top: 3px;">点击上传</div>
<ul class="pic_lists">
</div>

Js:

function webUpload() {
// 初始化Web Uploader
var uploader = WebUploader.create({ // 选完文件后,是否自动上传。
auto: false, duplicate: false, // swf文件路径
swf: '/com/webupload/Uploader.swf', // 文件接收服务端。
server: '/admin.php?c=Index&a=batchUploadPic', // 选择文件的按钮。可选。
// 内部根据当前运行是创建,可能是input元素,也可能是flash.
pick: '#filePicker', // 只允许选择图片文件。
accept: {
title: 'Images',
extensions: 'gif,jpg,jpeg,bmp,png',
mimeTypes: 'image/*'
}, resize: false
}); // 监听fileQueued事件,通过uploader.makeThumb来创建图片预览图。
var num = 0;
uploader.on('fileQueued', function( file ) {
num--;
var $li = $('<li id="' + file.id + '" _id="'+file.id+'" class="item">' +
'<img src="" alt=""><h4 class="info" style="display:inline-block;">' + file.name + ' <span class="button del" >删除</span></h4>' +
'</li>');
var $img = $li.find('img');
$('.pic_lists').append($li);
uploader.makeThumb( file, function( error, src ) {
if ( error ) {
$img.replaceWith('<span>不能预览</span>');
return;
}
$img.attr( 'src', src );
}, 60, 60 ); });
// 删除
$('.pic_lists').on('click','.del',function () {
uploader.removeFile($(this).parents('li').attr('_id'),true);
$(this).parents('li').remove();
num++;
});
//上传成功
uploader.on( 'uploadSuccess', function( file,res ) {
if( res.code == 0 ){
$('#'+file.id).remove();
num++;
if( num == 0 ){
win.msg('上传成功');
window.location.reload();
}
}
});
// 上传失败
uploader.on( 'uploadError', function( file ) {
win.msg(file.name+'上传失败');
}); // 点击上传
$('.upload_pic').on('click','.go_upload',function () {
uploader.upload();
});
}

PHP:

public function batchUploadPic() {
header('Content-type:text/html; charset=utf-8');
$objFiels = $_FILES['file'];
$strSavePath = './upload/'.date('y').'/'.date('m').date('d').'/';
$strPicName = rand(1000000, 9999999) . rand(1000000, 9999999) . '.jpg';
if (!is_dir($strSavePath)) mkdir($strSavePath, 0777, true);
$strPicPath = $strSavePath . '/' . $strPicName;
$boolUploadStatus = move_uploaded_file($objFiels['tmp_name'], $strPicPath);
if ($boolUploadStatus) {
echo json_encode(['code' => 0, 'msg' => '成功', 'path' => $strPicPath]);
} else {
echo json_encode(['code' => 1, 'msg' => '上传图片失败', 'path' => '']);
}
}

最新文章

  1. spring入门(二)【加载properties文件】
  2. url.py中的配置问题
  3. [BZOJ2879][Noi2012]美食节(最小费用最大流动态加边)
  4. c++中的peek函数
  5. C# Java间进行RSA加密解密交互
  6. centos7重置root开机登录密码
  7. 1048. Find Coins (25)
  8. Linux下修改Oracle监听地址
  9. bzoj2427: [HAOI2010]软件安装
  10. 红眼技术博客 » redis连接池红眼技术博客 » redis连接池
  11. bat脚本学习
  12. S3C2440看门狗解析
  13. Spring 数据源
  14. java基础知识1--String常用方法总结
  15. NopCommerce用core重写ef
  16. Android 常用的ORM框架详解
  17. 计算机网络之JSONP跨域
  18. python工程遇到的错误
  19. push to origin/master was rejected错误解决方案
  20. RDP服务开启

热门文章

  1. JAVA网络编程基本功之Servlet与Servlet容器
  2. deepin-terminal改造之路
  3. 有钱人买钻石+dfs中使用贪心
  4. HDOJ-1358(字符串压缩+KMP)
  5. CCF(JSON查询:40分):字符串+模拟
  6. 1.2 Python3基础-规范
  7. 设计模式之简单工厂模式(Simple Factory Pattern)
  8. VMware 虚拟机安装(使用CentOS镜像)
  9. 在go中通过cmd调用python命令行参数量级过大问题解决
  10. java例题_03 水仙花数