[代码分享] 基于 layui 封装的后台上传功能,前端苦手的福音 [大佬慎点]

功能:查看、复制 url、替换和移除。

开发使用和用户使用都简单。

前端苦手、伸手党福音。

授人以鱼,就授人以鱼。

如果你不用 layui,也可以参考一下~

话说,社区是否考虑加一个 帖子附件 功能?可以附加小文件~

效果#

分享基于 layui 封装的后台上传功能,前端苦手的福音

里面那些文字,,,如果系统中已经引入了图标库,可自行改为图标,会好看一点,当然样式也可能要相应的调整。

紫色 可自行改为自己后台的主题色~~

使用方式#

模板#

<!-- head 中 -->
<link rel="stylesheet" href="{{ asset('layui/css/layui.css') }}">
<link rel="stylesheet" href="{{ asset('upload.css') }}">

<!-- body 中 -->
<form action="/user/test" method="post">
  <div style="float: left; margin-right: 10px;">
    <h2>初始化值</h2>
    <!-- 使用 up-uploader 类标记 -->
    <div class="up-uploader" data-value="/uploads/7c0d7ef03a7eb04ce795b0f60e68e7e1.txt"></div>
  </div>
  <div>
    <h2>头像</h2>
    <div class="up-uploader" data-input-name="avatar"></div>
  </div>
  <div>
    <h2>相册</h2>
    <div
      class="up-uploader"
      data-input-name="photos[]"
      data-max="8"
      data-full-url="true"
    ></div>
  </div>
  <div>
    <h2><button type="submit">提交</button></h2>
  </div>
</form>

<script src="{{ asset('layui/layui.js') }}"></script>
<!-- 其实可以用 layui 的自定义模块加载,这里算了,效果一样 -->
<script src="{{ asset('upload.js') }}"></script>

上传返回#

可自行调整,JS 中也要稍微调整下

return response()->json([
    'code' => 0, // 0 - 成功,其他 - 失败
    'msg' => '上传成功',
    'data' => [
        'full_url' => 'http://chat.l.com'.$storage->url('uploads/'.$filename), // 全路径,并没有用到
        'path' => '/uploads/'.$filename, // 相对路径
    ],
]);

提交后的数据#

array:4 ["up_file" => null // 这个选择文件的那个 input 框的值,忽略即可
  "file" => "/uploads/7c0d7ef03a7eb04ce795b0f60e68e7e1.txt"
  "avatar" => "/uploads/61c1b32a961b0d868a78dae00e4997f9.png"
  "photos" => array:2 [0 => "http://chat.l.com/uploads/53c7473b75cf9adcb8540fdf3a2022eb.png"
    1 => "http://chat.l.com/uploads/61c1b32a961b0d868a78dae00e4997f9.png"
  ]
]

代码#

JS#

upload.js

代码已被折叠,点此展开

css#

upload.css

代码已被折叠,点此展开
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。