jquery swfupload图片上传插件制作图片批量上传和单个图片上传代码



245 979 327



特效描述:jquery swfupload 图片上传插件 图片批量上传 单个图片上传,下载本地请在(localhost目录下访问)要运行upload.php文件。本地演示上传会正常。服务器上由于考虑到上传安全问题,部分不能正常演示。

代码结构

1. 引入JS

<script type="text/javascript" src="js/jquery-1.8.2.min.js"></script>
<script type="text/javascript" src="js/plugin/swfupload/swfupload.js"></script>
<script type="text/javascript" src="js/plugin/swfupload/swfupload.queue.js"></script>
<script type="text/javascript" src="js/plugin/swfupload/swfupload.speed.js"></script>
<script type="text/javascript" src="js/plugin/swfupload/handlers.js"></script>

2. HTML代码

<!--无视-->
<style type="text/css">
/* Demo Buttons Style */
.codrops-demos{
    text-align:center;
	display: block;
	line-height: 30px;
	padding:20px 0px 5px 0px;
}
.codrops-demos a{
    display: inline-block;
	text-decoration:none;
	margin: 0px 4px;
	padding:6px;
	color: #aaa;
	font-weight:800;
	line-height: 20px;	
	font-size: 14px;
	text-shadow: 1px 1px 1px #fff;
	border: 1px solid #ddd;
	background: #ffffff; /* Old browsers */
	background: -moz-linear-gradient(top, #ffffff 0%, #f6f6f6 47%, #ededed 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ffffff), color-stop(47%,#f6f6f6), color-stop(100%,#ededed)); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top, #ffffff 0%,#f6f6f6 47%,#ededed 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top, #ffffff 0%,#f6f6f6 47%,#ededed 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top, #ffffff 0%,#f6f6f6 47%,#ededed 100%); /* IE10+ */
	background: linear-gradient(top, #ffffff 0%,#f6f6f6 47%,#ededed 100%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#ededed',GradientType=0 ); /* IE6-9 */
	box-shadow: 0px 1px 1px rgba(255, 255, 255, 0.5);
}
.codrops-demos a:hover{
	color: #333;
	box-shadow: 0px 1px 1px rgba(255, 255, 255, 0.5);
}
.codrops-demos a:active{
	background: #fff;
}
.codrops-demos a.current-demo,
.codrops-demos a.current-demo:hover{
	background: #f6f6f6;
	color:#ff6600;
}
</style>
<!--必要样式-->
<style type="text/css">
/* reset */
*{margin:0;padding:0;list-style-type:none;}
a{blr:expression(this.onFocus=this.blur())}/*去掉a标签的虚线框,避免出现奇怪的选中区域*/
a,img{border:0;}
body{_background-image:url(about:blank);/*用浏览器空白页面作为背景*/_background-attachment:fixed; /* prevent screen flash in IE6 确保滚动条滚动时,元素不闪动*/ } 
body{font:12px/180% Arial,Lucida,Verdana,"宋体",Helvetica,sans-serif;color:#333;background:#fff;}
.demo{padding:10px;width:760px;margin:0 auto;}
.logoupload{height:50px;padding:20px 0 0 0;}
.logoupload .uploadtip{float:left;padding:5px 10px;background:#E8F0FF;border:solid 1px #BCD2FF;line-height:18px;margin:8px 0 0 15px;display:inline;color:#5e5e5e;}
.logoupload .uploadtip b{color:#ff6600;margin:0 5px;}
.logoupload .btnbox{width:143px;height:45px;float:left;}
.logoupload .fl-progress{float:left;margin-top:0!important;margin-left:20px;display:inline;}
.logoupload .uploadbtn{float:left;width:145px;height:47px;line-height:999em;overflow:hidden;font-size:14px;display:block;color:#ffffff;}
/* progress-box */
.progress-box{width:300px;margin:10px 0 0 0;}
.progress-num{height:30px;line-height:30px;overflow:hidden;font-size:14px;}
.progress-num b{font-weight:400;color:#3366cc;}
.progress-bar{width:100%;height:8px;overflow:hidden;position:relative;background:#dedede;}
.progress-bar .bar-line{position:absolute;left:0;top:0;height:8px;overflow:hidden;background:#007cdc;}
/* batch-pic */
.batch-pic{padding:20px 0 0 5px;height:280px;overflow-x:hidden;overflow-y:scroll;position:relative;}
.batch-pic li{width:172px;height:190px;float:left;position:relative;margin:0 12px 0 0;display:inline;}
.batch-pic li .p-pic{border:solid 1px #d8d8d8;height:110px;overflow:hidden;}
.batch-pic li .p-pic img{width:170px;}
.batch-pic li .p-des{height:28px;line-height:28px;overflow:hidden;text-align:center;color:#5e5e5e;}
.batch-pic li .p-des span{color:#3366cc;margin:0 5px;}
.batch-pic li .p-text input{padding:3px;width:162px;}
.batch-pic li .p-btn{margin:10px 0 0 0;}
.batch-pic li .p-btn .upbtn{width:103px;height:34px;display:block;overflow:hidden;margin:0 auto;}
.batch-pic li .delete-pic{background:url(images/red-close-btn.gif) no-repeat;width:27px;height:27px;overflow:hidden;cursor:pointer;position:absolute;right:-7px;top:-13px;}
</style>
<div class="codrops-demos">
	<a class="current-demo" href="index.html">图片批量上传</a>
	<a href="index1.html">图片单个上传</a>
</div>
<div class="demo">
	<div class="logoupload">
		<div class="btnbox">
			<a id="uploadBtnHolder" class="uploadbtn" href="javascript:;">上传替换</a>
		</div>
		<div class="uploadtip">建议上传图片尺寸:<b>950x320</b>像素</div>
		<div class="progress-box fl-progress" style="display:none;">
			<div class="progress-num">上传进度:<b>0%</b></div>
			<div class="progress-bar"><div style="width:0%;" class="bar-line"></div></div>
		</div>
	</div>
	<div class="batch-pic">
		<ul>
			<li>
				<div class="delete-pic"></div>
				<div class="p-pic"><img src="images/s123.jpg" /></div>
				<div class="p-des">图片尺寸:<span>440x330</span>像素</div>
				<div class="p-text"><input type="text" value="图片名称"></div>
			</li>
			<li>
				<div class="delete-pic"></div>
				<div class="p-pic"><img src="images/324.jpg" /></div>
				<div class="p-des">图片尺寸:<span>440x349</span>像素</div>
				<div class="p-text"><input type="text" value="图片名称"></div>
			</li>
			<li>
				<div class="delete-pic"></div>
				<div class="p-pic"><img src="images/dft.jpg" /></div>
				<div class="p-des">图片尺寸:<span>440x586</span>像素</div>
				<div class="p-text"><input type="text" value="图片名称"></div>
			</li>
			<li>
				<div class="delete-pic"></div>
				<div class="p-pic"><img src="images/dsdf.jpg" /></div>
				<div class="p-des">图片尺寸:<span>440x586</span>像素</div>
				<div class="p-text"><input type="text" value="图片名称"></div>
			</li>
		</ul>
	</div>
</div>
<!-- 上传必备插件 -->
<script type="text/javascript">
function updateProgress(file) {
	$('.progress-box .progress-bar > div').css('width', parseInt(file.percentUploaded) + '%');
	$('.progress-box .progress-num > b').html(SWFUpload.speed.formatPercent(file.percentUploaded));
}
function initProgress() {
	$('.progress-box').show();
	$('.progress-box .progress-bar > div').css('width', '0%');
	$('.progress-box .progress-num > b').html('0%');
}
function successAction(fileInfo) {
	setUploadImage(fileInfo);
	// 如果上传完成了
	$('.progress-box').hide();
}
function setUploadImage(fileInfo) {
	var up_path = fileInfo.path;
	var up_width = fileInfo.width;
	var up_height = fileInfo.height;
	var listEls = $('.batch-pic');
	var innerHtml = 
	'<li>'+
		'<div class="delete-pic"></div>'+
		'<div class="p-pic"><img src="' + up_path + '" /></div>'+
		'<div class="p-des">图片尺寸:<span>' + up_width + 'x' + up_height + '</span>像素</div>'+
		'<div class="p-text"><input type="text" value="图片名称" /></div>'+
	'</li>';
	listEls.find('ul').append(innerHtml);
	initImageListFn();
}
function initImageListFn() {
	$('.batch-pic').find('ul > li .delete-pic').each(function() {
		$(this).unbind('click').click(function() {
			$(this).parent().remove();
		});
	});
}
var swfImageUpload;
$(document).ready(function() {
	var settings = {
		flash_url : "js/plugin/swfupload/swfupload.swf",
		flash9_url : "js/plugin/swfupload/swfupload_fp9.swf",
		upload_url: "upload.php",// 接受上传的地址
		file_size_limit : "2 MB",// 文件大小限制
		file_types : "*.jpg;*.gif;*.png;*.jpeg;",// 限制文件类型
		file_types_description : "Image Files",// 说明,自己定义
		file_upload_limit : 100,
		file_queue_limit : 0,
		custom_settings : {},
		debug: false,
		// Button settings
		button_image_url: "js/plugin/swfupload/upload-btn.png",
		button_width: "143",
		button_height: "45 ",
		button_placeholder_id: 'uploadBtnHolder',
		button_window_mode : SWFUpload.WINDOW_MODE.TRANSPARENT,
		button_cursor : SWFUpload.CURSOR.HAND,
		button_action: SWFUpload.BUTTON_ACTION.SELECT_FILE,
		moving_average_history_size: 40,
		// The event handler functions are defined in handlers.js
		swfupload_preload_handler : preLoad,
		swfupload_load_failed_handler : loadFailed,
		file_queued_handler : fileQueued,
		file_dialog_complete_handler: fileDialogComplete,
		upload_start_handler : function (file) {
			initProgress();
			updateProgress(file);
		},
		upload_progress_handler : function(file, bytesComplete, bytesTotal) {
			updateProgress(file);
		},
		upload_success_handler : function(file, data, response) {
			// 上传成功后处理函数
			var fileInfo = eval("(" + data + ")");
			successAction(fileInfo);
		},
		upload_error_handler : function(file, errorCode, message) {
			alert('上传发生了错误!');
		},
		file_queue_error_handler : function(file, errorCode, message) {
			if(errorCode == -110) {
				alert('您选择的文件太大了。');	
			}
		}
	};
	swfImageUpload = new SWFUpload(settings);
	initImageListFn();
});
</script>



用户评论
大牛,别默默的看了,快登录帮我点评一下吧!:)      登录 | 注册


热门标签: 瀑布流 收藏 预览 自适应页面大小 响应式区块列表布局 摇摆 烟花 清单样式 照相机 注释 下划线 结构图 鼠标悬停 条形码 弹幕 画板 朋友圈样式 红包 css绘制样式 支付 图文布局 右键菜单 图片头像上传 二维码 文字提示框 文件上传 地图 提示框/弹出层 文本框 计算器 layer 下拉框 计时器 lightbox 复选 桌面 单选 跳转 Tooltip工具提示框 登录框 步骤 浮动提示框 注册框 键盘 html5弹窗动画 搜索框 签到 验证码 分享 二级联动 点赞 投票 三级联动 雪花 城市选择 打印 value赋值 筛选 答题 按钮控制 购物车 震动 颜色选择 表单提交 全选/反选 图表 添加删除 鼠标滑过 添加标签 抽奖 密码强度验证 表情 表单验证 qq空间 头像截图 html5按钮动画 星星打分评分 按钮样式 密码修改设置 编辑器 播放器 电子杂志 排行榜 分页翻页 排序 表格隔行变色 table表格 进度条 多功能 弹出层拖动 窗口提示框 滑动星星打分 切换按钮 form表单 其他更多

×
×

注册

官方QQ群

扫描上面二维码加微信群

官方QQ群

jQuery/js讨论群
群号:642649996
Css3+Html5讨论群
群号:322131262

加群请备注:从官网了解到