thinkadmin上传与保存资源文件

1、将文件上传至指定目录
2、获取文件的字段与路径
3、保存文件路径(尽量使用相对路径保存)

upload.php控制器

<?php
namespace app\goods\controller;

use library\Controller;
use think\facade\Request;
use app\goods\logic\UploadLogic;
/**
 * 文件上传  文件类型验证器
 * Class Upload
 * @package app\goods\controller
 */
class Upload extends Controller
{
    //文件上传,将文件报存在指定位置的同时,将文件地址获取并保存链接地址
    public function index()
    {
        $data = 1111111111;
        $this->assign('data', $data);
        $this->fetch('upload/index');
//        return view('upload/index');
    }

    public function file()
    {
       $uploadLogic =  new UploadLogic();
        //获取POST提交的数据信息  存入文件绝对路径
        $postData = Request::post();
        //处理保存图片路径信息
        $res = $uploadLogic->doSaveImg($postData);
        halt($res);
    }
}

uploadLogin.php逻辑处理类


<?php
namespace app\goods\logic;

use library\Controller;
use  think\Db;
use think\Exception;

class UploadLogic extends Controller
{
    public function doSaveImg($postData)
    {
        Db::startTrans();
        try {
            //整合数据字段
           $data = $this->initializeFile($postData);
            Db::name('upload_file')->insert($data);
            Db::commit();
            return ['code' => 1, 'msg' => '流程数据添加成功'];
        } catch (Exception $e) {
            Db::rollback();
            return ['code' => 0, 'msg' => '数据库操作异常', 'data' => ['error_msg' => $e->getMessage()]];
        }
    }

    public function initializeFile($postData)
    {
        $group = [
            'imgurl'=> $postData['file-field']?? "",
        ];
        return $group;
    }
}

前端页面代码index.html

{extend name='admin@main'}
<!--按钮-->
{block name="button"}
{/block}

{block name="content"}
<form  method="post" class='layui-form' action="{:url('upload/file')}" enctype="multipart/form-data">
   <!-- <button type="button" data-file='one' data-field='file-field' data-type='jpg,png,gif' class="layui-btn" id="test3" name="file_field"><i class="layui-icon"></i>上传文件</button>-->

    <input name='file-field'>
    <button type='button' data-file='one' data-field='file-field' data-type='jpg,png,gif'>上传文件</button>

    <button type="submit" class="layui-btn" >提交</button>
</form>
{/block}

{block name="script"}
<script>
    window.form.render();
</script>
{/block}

显示结果页
在这里插入图片描述

发布了161 篇原创文章 · 获赞 0 · 访问量 7413

猜你喜欢

转载自blog.csdn.net/weixin_39218464/article/details/105068762
今日推荐