<?php
namespace app\adminVue\controller;

use app\BaseController;
use think\facade\Db;
use think\Request;

class fileUpdate extends TokenCheck
{   
    //上传图片
    public function imgsUpload(Request $request){
        $file = request()->file('file');
        $data = input('post.');
        try {
            validate(['image'=>'fileSize:1024*1024*5|fileExt:jpg|png|gif'])->check(array($file));
            $savename = \think\facade\Filesystem::disk('public')->putFile('vue_admin/'.$data['folder'], $file);
        } catch (think\exception\ValidateException $e) {
            http_response_code(440);
            exit(json_encode(array('code'=>1,'msg'=>'上传异常！')));
        }
        $url = '/storage/'.$savename;
        $data['img'] =  str_replace('\\', '/', $url);
        unset($data['folder']);
        Db::name('img_list')->insert($data);
        exit(json_encode(array('code'=>0,'msg'=>'图片上传成功!')));
    }
    //上传图片
    public function imgsUploadWithoutSave(Request $request){
        $file = request()->file('file');
        $data = input('post.');
        try {
            validate(['image'=>'fileSize:1024*1024*5|fileExt:jpg|png|gif'])->check(array($file));
            $savename = \think\facade\Filesystem::disk('public')->putFile('vue_admin/'.date('Ymd',time()).'/'.$data['folder'], $file);
        } catch (think\exception\ValidateException $e) {
            http_response_code(440);
            exit(json_encode(array('code'=>1,'msg'=>'上传异常！')));
        }
        $url = '/storage/'.$savename;
        $img =  str_replace('\\', '/', $url);
        exit(json_encode(array('code'=>0,'img'=>$img)));
    }
    //删除图片
    public function imageDelete(){
        $data = input('post.');
        Db::name('img_list')->where(array('mid'=>$data['mid'],'mark'=>$data['mark']))->where('img','like','%'.$data['img'])->update(['status'=>0]);
        exit(json_encode(array('code'=>200)));
    }
    //上传文件
    public function filesUpload(Request $request){
        $file = request()->file('file');
        $data = input('post.');
        $file_name = $file->getOriginalName();
        try {
            $savename = \think\facade\Filesystem::disk('public')->putFileAs('vue_admin/'.$data['folder'].'/'.date('Ymd',time()), $file,$file_name);
        } catch (think\exception\ValidateException $e) {
            http_response_code(440);
            exit(json_encode(array('code'=>1,'msg'=>'上传异常！')));
        }
        $url = '/storage/'.$savename;
        $data['img'] =  str_replace('\\', '/', $url);
        unset($data['folder']);
        Db::name('img_list')->insert($data);
        exit(json_encode(array('code'=>0,'msg'=>'文件上传成功!')));
    }
}
