|
1.前段
1、layui 代码
- <div class="layui-form-item">
- <label class="layui-form-label">上传图片</label>
- <div class="layui-input-block" id="image1">
- <img src="/static/image_icon/WechatIMG2.png" alt="" id="image2" style="height: 80px;width: 80px">
- <input type="hidden" name="image" id="image">
- </div>
- </div>``
-
- JS代码
- <script>
- layui.use(['form', 'jquery', 'layer', 'upload'], function() {
- var form = layui.form,
- layer = layui.layer,
- upload = layui.upload;
-
- upload.render({
- elem: '#image1',
- url: '/upload/upload/image',//提交入口文件自己更改
- accept: 'image',
- size: 3 * 1024,
- before: function(obj) {},
- done: function(res) {
- if (res.status == 200) {
- layer.msg(res.msg, {
- icon: 1
- })
- $('#image2').attr('src', res.path)
- $('#image').val(res.path)
- } else {
- layer.msg(res.msg, {
- icon: 2
- })
- }
- }
- });
- })
- </script>
复制代码 2.后端
TP6 后台代码
- namespace app\upload\controller;
-
- use think\facade\Config;
- use think\facade\Env;
- class Upload
- {
- /**图片上传*/
- public function image()
- {
- $file = request()->file('file');
- // 移动到框架应用根目录/uploads/ 目录下
- try{
- // 验证
- validate(['imgFile'=>[
- 'fileSize' => 410241024,
- 'fileExt' => 'jpg,jpeg,png,bmp,gif',
- 'fileMime' => 'image/jpeg,image/png,image/gif', //这个一定要加上,很重要我认为!
- ]])->check(['imgFile' => $file]);
- // 上传图片到本地服务器
- $saveName = \think\facade\Filesystem::disk('public')->putFile('',$file);
- $arr = ['status' => 200, 'msg' => '成功', 'path' => '/upload/'. $saveName];
- return json($arr);
- } catch (\Exception $e) {
- // 验证失败 输出错误信息
- return $this->exceptionHandle($e,'图片上传失败!' . $e->getMessage(),'json','');
- }
- }
- }
复制代码 3、修改文件 ->项目根目录->config.php
上传序偶保存的目录
把storage 这三个参数修改成 upload 结束:这样就完全可以 最终会在 public 文件下 生成 upload文件
|
|