php+html5兼容手机端的图片选取裁剪上传实例

夙愿已清 提交于 2020-03-13 19:56:33

网上大多图片上传插件都不带裁剪功能,这个是php+html5实现的兼容手机端的图片选取裁剪上传实例,分享出来希望能帮到大家。

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

<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>

接着引用js和css样式

<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>

接着看下表单的检查

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; 
}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!