知识学习

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 434|回复: 0

THINKPHP 模板上传图片--后台接收图片

[复制链接]

升级   100%

152

主题

152

帖子

734

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
734
发表于 2022-9-27 22:50:57 | 显示全部楼层 |阅读模式
  1. //前台
复制代码
  1. {extend name="public/base" /}
  2. {block name="body"}


  3.     <div class="row">
  4.         <div class="col-md-8">

  5.             <div class="page-header">
  6.               <h2>发布文章</h2>
  7.             </div>
  8.             <form id="uploadForm">
  9. <input type="hidden" value="{$Think.session.user_id}" name="user_id" id="user_id" />

  10.               <div class="form-group">
  11.                 <label>标题</label>
  12.                   <input type="text" name="title" id="title" class="form-control" placeholder="文章标题">
  13.               </div>


  14.               <div class="form-group">
  15.                 <label >栏目</label>
  16.                     <select class="form-control" name="cate_id" id="cate_id">
  17.                     {volist name="cateList" id="vo"}
  18.                         <option value="{$vo.id}">{$vo.name}</option>
  19.                     {/volist}
  20.                     </select>
  21.               </div>

  22.               <div class="form-group">
  23.                 <label>内容</label>
  24.                     <textarea id="content" class="form-control" rows="8" name="content" placeholder="内容"></textarea>
  25.               </div>

  26.             
  27.               <div class="form-group">
  28.                 <label >封面图</label>
  29.                     <input type="file" name="title_img" id="inputfile" >
  30.                     <!-- <p class="help-block">Example block-level help text here.</p> -->
  31.                     <div id="info" style=" color:red;margin-bottom: 3px;margin-top: 8px;"></div>
  32.               </div>


  33.             </form>

  34.                <div class="form-group">
  35.                   <button  class="btn btn-primary" id="register" style="width:100%">发布</button>
  36.               </div>



  37.         </div>

  38.         <script>
  39.             $(function(){

  40.                 $("#register").on('click',function(){

  41.                     var img = $("#inputfile").prop("files")[0];
  42.                     var formData = new FormData();
  43.                     formData.append('title_img', img);
  44.                     formData.append('user_id', $('#user_id').val());
  45.                     formData.append('title', $('#title').val());
  46.                     formData.append('cate_id',$('#cate_id').val());
  47.                     formData.append('content', $('#content').val());


  48.                     $.ajax({
  49.                         url:"{:url('index/insertcl')}",
  50.                         type:"post",
  51.                         data:formData,
  52.                         dataType:'json',
  53.                         cache: false,
  54.                         processData: false,
  55.                         contentType: false,                    
  56.                         success:function(data){
  57.                             //如果输入不合格
  58.                             if(data.status==-1){
  59.                             $('#info').text(data.message);
  60.                             }else{
  61.                                 alert(data.message);
  62.                                 window.location.href="{:url('index/index')}";
  63.                             }
  64.                         }
  65.                     });
  66.             });
  67.         });
  68.         </script>
  69. {/block}
复制代码



后台
  1. //发布文章操作
  2.     public function insertcl(){
  3.         $data = $_POST;
  4.         $data['title_img'] =request()->file('title_img');
  5.         //验证器
  6.         $rule = 'app\common\validate\Article';
  7.         $res = $this->validate($data,$rule);
  8.         //验证结果
  9.         if($res!==true){
  10.             return ['status'=>-1,'message'=>$res];
  11.         }   
  12.         
  13.         //获取file对象
  14.         $file =  $data['title_img'];
  15.         //文件信息验证与上传到服务器指定目录
  16.         $info = $file->validate([
  17.             'size'=>5000000,  //文件大小
  18.             'ext'=>'jpg,jpeg,png,gif'  //文件拓展名
  19.         ])->move('uploads/');  //移动到public/uploads目录下

  20.         //错误就报错
  21.         if($info==false){
  22.             return ['status'=>-1,'message'=>$file->getError()];
  23.         }

  24.         //获取文件名
  25.         $data['title_img'] = $info->getSaveName();

  26.         $result = Article::create($data);

  27.         if($result){
  28.             return ['status'=>1,'message'=>'发布成功'];
  29.         }
  30.         return ['status'=>0,'message'=>'发布失败'];


  31.     }
复制代码


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|知识学习 ( 鲁ICP备20015483号 )

GMT+8, 2024-6-16 03:45 , Processed in 0.073815 second(s), 26 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表