PHP+jQuery+html5实现图片选取裁剪上传(兼容手机上传)【原创

来源:https://www.sucaihuo.com/js/71.html 2015-04-23 23:53浏览(31668) 收藏

在网上找到了图片上传插件jquery.min.js,但没有上传功能,自己花了10分钟给加上去了哈,有bug留言,一般当天改完上传。
PHP+jQuery+html5实现图片选取裁剪上传(兼容手机上传)
分类:表单代码 > 图片上传 难易:中级
下载资源 下载积分: 100 积分

HTML

首先我们放置一个上传按钮及相关预览信息等。

<form id="upload_form" enctype="multipart/form-data" method="post" action="upload.php" onsubmit="return checkForm()"> 
   <!-- hidden crop params --> 
   <input type="hidden" id="x1" name="x1" autocomplete="off" /> 
   <input type="hidden" id="y1" name="y1" autocomplete="off" /> 
   <input type="hidden" id="x2" name="x2" autocomplete="off" /> 
   <input type="hidden" id="y2" name="y2" autocomplete="off" /> 
   <input type="file" name="image_file" id="image_file" onchange="fileSelectHandler()" /> 
   <div class="error">
    注意:上传前,先截图
   </div> 
   <div class="step2"> 
    <img id="preview" /> 
    <div class="info"> 
     <ul> 
      <li><label>文件大小</label> <input type="text" id="filesize" name="filesize" class="input" autocomplete="off" /></li> 
      <li><label>类型</label> <input type="text" id="filetype" name="filetype" class="input" autocomplete="off" /></li> 
      <li><label>图像尺寸</label> <input type="text" id="filedim" name="filedim" class="input" autocomplete="off" /></li> 
      <li><label>宽度</label> <input type="text" id="w" name="w" class="input" autocomplete="off" /></li> 
      <li><label>高度</label> <input type="text" id="h" name="h" class="input" autocomplete="off" /></li> 
     </ul> 
    </div> 
    <input type="submit" value="上传" class="btn" /> 
   </div> 
</form>

接着我们引用jQuery库和Jcrop插件。

<link href="css/jquery.Jcrop.min.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="jquery.js"></script> 
<script src="js/jquery.Jcrop.min.js"></script>

jQuery

接着我们看下表单的检查:

function checkForm() {
    if (parseInt($('#w').val())) //若是没有截屏
        return true;
    $('.error').html('请先选择图片,并且截图').show();
    return false;
}

上传文件条件设置:

var rFilter = /^(image\/jpeg|image\/png|image\/jpg)$/i;
if (!rFilter.test(oFile.type)) {
    $('.error').html('请选择jpg、jpeg或png格式的图片').show();
    return;
}

// check for file size
if (oFile.size > 1000 * 1024) {
    $('.error').html('请上传小于1M的图片').show();
    return;
}

这是一个单图片上传,并且兼容手机图片上传。

相关多图片上传:PHP+jQuery+Ajax多图片上传http://www.sucaihuo.com/js/3.html,flash头像上传插件http://www.sucaihuo.com/js/29.html

标签: 上传html5裁剪
声明:本文为原创文章,如需转载,请注明来源sucaihuo.com并保留原文链接:https://www.sucaihuo.com/js/71.html
评论0
头像

系统已开启自动识别垃圾评论机制,识别到的自动封号,下载出错或者资源有问题请联系全栈客服QQ 1915635791

1 2