头像上传插件

上传头都是比较复杂的一件事,最近帮朋友找了一款插件给大家分享一下。

ps:这个可以根据你的设计稿自由发挥 可以写成各种样式,不会再有固定插件的样式;

演示地址:http://durenlong.gitee.io/uploading

码云地址:https://gitee.com/durenlong/uploading

ps:关键标签只有四个只要四个对应就ok,然后你就可以随意做出你想要的样子

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			*{
				margin: 0;
				padding: 0;
			}
			#upload_D{
				position: fixed;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
				background: rgba(0,0,0,0.5);
				display: none;
			}
			#upload_D > .upload_frame{
				width: 666px;
				height: 634px;
				background: #FFFFFF;
				border-radius: 10px;
				position: fixed;
				top: 0;
				left: 0;
				right: 0;
				bottom: 0;
				margin: auto;
				overflow: hidden;
			}
			#upload_D > .upload_frame > .upload_title{
				padding: 28px 46px 28px 46px;
				border-bottom: 1px solid #e7e7e7;
				overflow: hidden;
			}
			#upload_D > .upload_frame > .upload_title >.upload_title_left{
				float: left;
				line-height: 24px;
				font-size: 18px;
			}
			#upload_D > .upload_frame > .upload_title >.upload_title_right{
				float: right;
				cursor: pointer;
			}
			#upload_D > .upload_frame > .upload_fileBtn{
				padding: 24px 46px;
				line-height: 34px;
				font-size: 16px;
			}
			#upload_D > .upload_frame > .upload_fileBtn >input{
				display: none;
			}
			#upload_D > .upload_frame > .upload_fileBtn >label{
				display: inline-block;
				width: 88px;
				height: 34px;
				text-align: center;
				border-radius: 5px;
				background: #ff5757;
				margin-left: 22px;
				color: #FFFFFF;
			}
			#upload_D > .upload_frame > .upload_content{
				padding: 0 46px;
			}
			#upload_D > .upload_frame > .upload_content >#clipArea{
				width: 388px;
				height: 388px;
				float: left;
				margin-left: 20px;
			}
			#upload_D > .upload_frame > .upload_content .upload_content_right{
				float: right;
				width: 120px;
				margin-right: 20px;
				text-align: center;
			}
			#upload_D > .upload_frame > .upload_content .upload_content_right .upload_view{
				width: 120px;
				height: 120px;
				border-radius: 50%;
			}
			#upload_D > .upload_frame > .upload_content .upload_content_right #clipBtn{
				width: 90px;
				height: 34px;
				border: none;
				outline: none;
				border-radius: 5px;
				background: #FF5757;
				color: #FFFFFF;
				margin-top: 196px;
			}
			#upload_D > .upload_frame > .upload_content .upload_content_right label{
				display: block;
				margin-top: 14px;
				font-size: 16px;
				color: #666666;
			}
			#view{
				width: 60px;
				height: 60px;
				border-radius: 50%;
			}
		</style>
	</head>
	<body >
		<p class="upload_view" id="view"></p>
		<button class="open">修改头像</button>
		<div id="upload_D">
			<div class="upload_frame">
				<div class="upload_title">
					<span class="upload_title_left">请选择图片</span>
					<span class="upload_title_right"><img src="img/x.jpg"></span>
				</div>
				<div class="upload_fileBtn">
					图片上传
					<input type="file" id="file"/>
					<label for="file">选择图片</label>
				</div>
				<div class="upload_content">
					<div id="clipArea"></div>
					<div class="upload_content_right">
						<p class="upload_view"></p>
						<button id="clipBtn">保存修改</button>
						<label for="file">重新选图片</label>
					</div>
				</div>
			</div>
		</div>
		<script src="http://www.jq22.com/jquery/2.1.1/jquery.min.js"></script>
		<script src="js/iscroll-zoom.js"></script>
		<script src="js/hammer.js"></script>
		<script src="js/lrz.all.bundle.js"></script>
		<script src="js/jquery.photoClip.min.js"></script>
		<script>
			$(function(){
				//document.addEventListener(‘touchmove‘, function (e) { e.preventDefault(); }, false);
				var clipArea = new bjj.PhotoClip("#clipArea", {
					size: [300, 300],// 截取框的宽和高组成的数组。默认值为[260,260]
					outputSize: [300, 300], // 输出图像的宽和高组成的数组。默认值为[0,0],表示输出图像原始大小
					//outputType: "jpg", // 指定输出图片的类型,可选 "jpg" 和 "png" 两种种类型,默认为 "jpg"
					file: "#file", // 上传图片的<input type="file">控件的选择器或者DOM对象
					view: ".upload_view", // 显示截取后图像的容器的选择器或者DOM对象
					ok: "#clipBtn", // 确认截图按钮的选择器或者DOM对象
					loadStart: function() {
						// 开始加载的回调函数。this指向 fileReader 对象,并将正在加载的 file 对象作为参数传入
						$(‘.cover-wrap‘).fadeIn();
						console.log("照片读取中");
					},
					loadComplete: function() {
						 // 加载完成的回调函数。this指向图片对象,并将图片地址作为参数传入
						console.log("照片读取完成");
					},
					//loadError: function(event) {}, // 加载失败的回调函数。this指向 fileReader 对象,并将错误事件的 event 对象作为参数传入
					clipFinish: function(dataURL) {
						 // 裁剪完成的回调函数。this指向图片对象,会将裁剪出的图像数据DataURL作为参数传入
						console.log(dataURL);
					}
				});

				$(".upload_title_right").click(function(){
					$("#upload_D").fadeOut();
				});

				$(".open").click(function(){
					$("#upload_D").fadeIn();
				});
			})

		</script>
	</body>
</html>zuo‘chu

  

时间: 2024-10-12 21:29:26

头像上传插件的相关文章

兼容IE的头像上传插件的设计方法(asp.net mvc)

使用了两个插件 1.文件上传插件uploadify 2.图像编辑插件jquery.Jcrop 基于Asp.net的mvc设计模式,设计了该插件 下面贴代码: view(.cshtml): <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> <link href="~/Bo

移动端web头像上传实现截取和照片方向修复

实战所需js包: jQuery.Jcrop.EXIF 本次实战功能是在 app 中的 我的客户 的客户信息页面中实现移动端web的头像上传,本次没有实现图像拖拽.缩放的触摸事件功能(Jcrop在这方面的扩展支持实在不够良好,弄了半天没弄出来),若后续有更好的移动端web头像上传插件,可考虑后续替代升级. demo主要实现的关键功能: 图像的方向修正及图像截取 虽然没有实现图像拖拽和双指缩放,但其缩放后的相对于图像的比例计算和拖拽坐标计算规则是一致的,可以参考.同时图像的旋转功能也可参考其中的核心

PHP+ajaxfileupload与jcrop插件结合 完成头像上传

昨天花了点时间整合了一下头像插件 东拼西凑的成果 先来看下效果 1.先使用ajaxfileupload插件做异步上传.这个地方我本来想做个上传进度的效果,但技术有限失败了.上传按钮我还做了一个文件大小的限制,但是由于浏览器兼容性的问题,不完美在IE6--IE9之间还有很多问题需要解决 getFileSize函数是用于判断文件大小的函数 function getFileSize(fileName) { var byteSize = 0; //console.log($("#" + fil

前端插件——头像截图上传插件的使用(带后台)

效果图:实现上传头像,右边是预览,有三个大小,可以对头像进行裁剪 HTML: toParentData 和 img 返回的是图片裁剪后的base64编码.其中toParentData用于业务需求,可以忽略. <!DOCTYPE html> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <html> <head> <c:set va

[Bootstrap-插件使用]Jcrop+fileinput组合实现头像上传功能

很久没有更新博客了,再不写点东西都烂了. 这次更新一个小内容,是两个插件的组合使用,实现头像上传功能. 业务需求: 头像上传功能,要对上传的文件进行剪切,且保证头像到服务器时必须是正方形的. 优化<input type="file">的显示样式,基础的样式实在太难看了. 上传的头像需要进行质量压缩跟大小裁剪,以减缓浏览器的压力. 成果预览: 使用到的技术插件 Jcrop:用于前端"裁剪"图片 bootstrap-fileinput:用于前端优化上传控件样

基于Metronic的Bootstrap开发框架经验总结(5)--Bootstrap文件上传插件File Input的使用

Bootstrap文件上传插件File Input是一个不错的文件上传控件,但是搜索使用到的案例不多,使用的时候,也是一步一个脚印一样摸着石头过河,这个控件在界面呈现上,叫我之前使用过的Uploadify 好看一些,功能也强大些,本文主要基于我自己的框架代码案例,介绍其中文件上传插件File Input的使用.关于Uploadify的控件介绍,可以参考我之前的随笔介绍<基于MVC4+EasyUI的Web开发框架形成之旅--附件上传组件uploadify的使用>. 1.文件上传插件File In

php头像上传预览

php头像上传带预览: 说道上传图片,大家并不陌生,不过,在以后开发的项目中,可能并不会让你使用提交刷新页面式的上传图片,比如上传头像,按照常理,肯定是在相册选择照片之后,确认上传,而肯定不会通过form表单,点击submit刷新式上传.我为大家介绍两种异步非刷新式上传图片+图片预览:第一种,通过现成的uploadfy插件进行上传,网上好多实例.不过我重点为大家介绍的是第二种,通过Ajax上传图片.因为使用uploadfy插件需要设备支持swf格式的Flash,所以对大多数手机来说,第一种方式就

【Bootstrap-插件使用】Jcrop+fileinput组合实现头像上传功能

作者:Dreawer链接:https://zhuanlan.zhihu.com/p/24465742来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 作者:梦游的龙猫(转载已获得作者许可) 很久没有更新博客了,再不写点东西都烂了. 这次更新一个小内容,是两个插件的组合使用,实现头像上传功能. 业务需求: 头像上传功能,要对上传的文件进行剪切,且保证头像到服务器时必须是正方形的. 优化<input type="file">的显示样式,基础的样式实

Bootstrap文件上传插件File Input的使用

1.文件上传插件File Input介绍 这个插件主页地址是:http://plugins.krajee.com/file-input,可以从这里看到很多Demo的代码展示:http://plugins.krajee.com/file-basic-usage-demo. 这是一个增强的 HTML5 文件输入控件,是一个 Bootstrap 3.x 的扩展,实现文件上传预览,多文件上传等功能. 一般情况下,我们需要引入下面两个文件,插件才能正常使用: bootstrap-fileinput/css