ThinkPHP5+ajax预览并上传单张图片的实现方法及代码
来源:绵阳动力网络公司  时间:2020-02-18  阅读:12

大家好!今天是2020年2月18日,星期二,绵阳动力网络公司已经上班一周(2月11日开始上班)了,如果你有域名注册、服务器租用、网站建设网页设计微信公众号开发及应用的需求可随时拨打0816-2318288咨询了解,疫情当前,我们会为你提供全方位的线上服务!

今天我们为大家来介绍ThinkPHP5+ajax预览并上传单张图片的实现方法。常用ThinkPHP5框架只能实现图片上传,并不能预览图片,今天我们为大家来介绍单张图片预览并上传的方法,下期为大家介绍多张图片预览并上传的方法。

首先我们来看效果:

ThinkPHP5+ajax预览并上传单张图片的实现方法及代码

其次是具体的代码内容:

<!DOCTYPE html>
<html>
 <head>
 <meta charset="utf-8">
 <title>ajax上传图片练习</title>
 <script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script>
 <style type="text/css">
 </style>
 </head>
 <body>
 <form id="form">
 <label for="exampleInputEmail1">身份证正面</label>
 <input type="file" id="drawing" name="drawing" onchange="picture(this);" />
 <!-- 上传图片的路径 --><input type="hidden" name="" id="front" value="" />
 <div id="result"></div>
 </form>
 </body>
</html>
<script>
 //正面身份证
 function picture() {
 var data = new FormData($('#form')[0]);
 /* new FormData 的意思 
 * 获取我们for表单中的所有input的name和value为了更方便传值
 * https://segmentfault.com/a/1190000012327982?utm_source=tag-newest
 */
 console.log(data);
 $.ajax({
 url: "http://tp5-shopxo.likeball.top/index.php?s=/api/Mi/measurement",
 type: 'POST',
 data: data,
 dataType: 'JSON',
 cache: false,
 processData: false,
 contentType: false,
 success: function(data) {
 // console.log(data);
 if (data['whether']) {
  var result = '';
  var result1 = '';
  result += '<img src="' + 'http://tp5-shopxo.likeball.top/' + data['site'] + '" width="100">';
  result1 += 'http://tp5-shopxo.likeball.top/' + data['site'];
  $('#results').html(result);
  $('#fronts').val(result1);
 }
 },
 error: function(data) {
 alert('错误');
 }
 });
 }
</script>


最后是TP控制器代码内容:
public function measurement()
 { 
  $response = array(); 
  //这是身份证正面
  if ( isset( $_FILES['drawing'] ) && $_FILES['drawing']['error'] == 0 ) {
   $drawing = request()->file('drawing'); 
   $picture = $drawing->validate( ['ext'=>'jpg,png,gif'] )->move( ROOT_PATH . 'static' . DS . 'upload/mi/img' );
  }
  if ( isset( $picture ) ) {
   $filePaths = '/static' . DS . 'upload/mi/img/'. $picture->getSaveName();
   $response['whether'] = true;
   $response['site'] = $filePaths;
   echo json_encode($response); 
  }
  // 正面结束
 }

好了,以上内容就是ThinkPHP5+ajax预览并上传单张图片的实现方法及代码的全部内容,下期我们将为大家接着介绍ThinkPHP5+ajax预览并上传多张图片的实现方法及代码的内容。希望今天的内容对你的网站建设有所帮助。

 
  • 电话咨询

  • 0816-2318288