首先说明一下我的项目,wampserver+thinkphp5.0,项目名称是thinkphp5,在应用目录(application)的admin模块下,分别有上传图片的弹出窗口upfile.html和裁剪图片的弹出窗口jcrop.html,文件路径分别是:
G:\wamp\www\thinkphp5\application\admin\view\Upimg\upfile.html
G:\wamp\www\thinkphp5\application\admin\view\Upimg\jcrop.html
upfile.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>上传图片</title>
{css href="__PUBLIC__/static/index/css/Common.css" /}
{js href="__PUBLIC__/static/custom/jquery.min.js" /}
<style type="text/css">
html,body{height:120px; width:400px; overflow:hidden;}
.main{height:60px; width:350px; margin:20px auto 0; position:relative;}
.main input.input{height:30px; width:250px; border-radius:0px; text-indent:1em; border:1px #CCC solid; font-size:12px; border-right:0;}
.main input[type='file']{position:absolute;top:0px; left:0px;height:30px; width:250px; opacity:0;}
.tc-15-btn.m {
height: 30px;
padding: 0 20px;
font-size: 12px;
line-height: 30px;
border:0px;
}
.tc-15-btn{
border-radius: 0px;
background: #65CEA7;
color: #fff;
text-align: center;
cursor: pointer;
outline: 0;
position:absolute;
top:0px;
right:0px;
}
.main p{display:block; height:30px; line-height:30px; width:100%; font-size:12px;}
.main p span{font-family:Arial;}
</style>
</head>
<body>
<div class="main">
<form action="{:url('admin/Upimg/upfile')}" enctype="multipart/form-data" method="post">
<input type="text" name="upfile" class="input" placeholder="选择需要上传的文件" /><input type="file" name="file" />
<input type="hidden" name="MAX_FILE_SIZE" value="204800" />
<input type="submit" name="submit" class="tc-15-btn m" value="上传封面图" />
<p>上传图片的大小不能超过200KB,格式为<span>jpg、gif、bmp、png。</span></p>
</form>
</div>
<script type="text/javascript">
$(function(){
$("input[type='file']").change(function(){
$("input[type='text']").val($(this).val());
})
})
</script>
</body>
</html>
预览效果图
:
jcrop.html
需要引入jquery.jcrop库和jquery.jcrop样式,自行到网上搜索“jcrop裁剪图片”。
<!DOCTYPE html>
<html>
<head>
<title>裁剪图片</title>
<meta charset="UTF-8" />
{js href="__PUBLIC__/static/custom/jquery.min.js" /} <!-- jquery库 -->
{js href="__PUBLIC__/static/admin/js/jquery.Jcrop.min.js" /} <!--jquery.Jcrop库 -->
{css href="__PUBLIC__/static/index/css/Common.css" /}
{css href="__PUBLIC__/static/admin/css/jquery.Jcrop.min.css" /} <!--jquery.Jcrop样式 -->
<style type="text/css">
.jcrop-holder #preview-pane {
display: block;
position: absolute;
z-index: 2000;
top: 10px;
right: -220px;
padding: 6px;
border: 1px rgba(0,0,0,.4) solid;
background-color: white;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
-webkit-box-shadow: 1px 1px 5px 2px rgba(0, 0, 0, 0.2);
-moz-box-shadow: 1px 1px 5px 2px rgba(0, 0, 0, 0.2);
box-shadow: 1px 1px 5px 2px rgba(0, 0, 0, 0.2);
}
#preview-pane .preview-container {
width: 180px;
height: 120px;
overflow: hidden;
}
.cutform{
position:absolute;
top:150px;
right:0px;
width:220px;
padding-top:20px;
}
.btn{
background:#1da02b;
padding:5px 10px;
color:#FFF;
cursor:pointer;
border-radius:3px;
margin-top:20px;
}
</style>
</head>
<body>
<div class="container">
<div class="jc-demo-box">
<img src="{$cropinfo.imgSrcPath}" id="cropbox" />
<div id="preview-pane">
<div class="preview-container">
<img src="{$cropinfo.imgSrcPath}" class="jcrop-preview" alt="Preview" />
</div>
</div>
<div class="cutform">
原图 宽:<span id="cwidth"></span> 高:<span id="cheight"></span><br />
缩略图 宽:{$cropinfo.zoomWidth} 高:{$cropinfo.zoomHeight}<br />
<form action="{:url('admin/Upimg/jcrop')}" me