BaseController.php 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. <?php
  2. namespace App\Http\Controllers\Api;
  3. use App\Http\Controllers\Controller;
  4. use Illuminate\Http\Request;
  5. use Illuminate\Support\Facades\Storage;
  6. class BaseController extends Controller
  7. {
  8. public $user_info;
  9. public function __construct()
  10. {
  11. }
  12. // 返回json数据
  13. protected function json_return($code=200,$msg="Success",$data=[]){
  14. if(!is_array($data)&&!is_object($data)) {
  15. $msg = $data;
  16. $data = '';
  17. }
  18. if(empty($msg)) $msg = '操作成功';
  19. return ['code'=>$code,'msg'=>$msg,'data'=>$data];
  20. }
  21. //用户行为记录,暂时放这里具体用不用后期再加
  22. public function user_log($data,$user,$id,$perm_id,$remark){
  23. }
  24. //用于保存图片
  25. public function save_pic(Request $request){
  26. // 获取文件相关信息
  27. $file = $request->file('file');
  28. $ext = $file->getClientOriginalExtension(); // 扩展名
  29. $realPath = $file->getRealPath(); //临时文件的绝对路径
  30. $ext = strtolower($ext);
  31. $rule = ['jpg', 'png', 'gif', "jpeg"];
  32. if (!in_array($ext, $rule)) {
  33. return '图片格式为jpg,png,gif';
  34. }
  35. // 上传文件
  36. $file_name = time().rand(1000,9999);
  37. $filename = $file_name.'.' . $ext;
  38. // 使用我们新建的uploads本地存储空间(目录)
  39. Storage::disk('public')->put('pic/'.$filename, file_get_contents($realPath));
  40. return $this->json_return(200,'上传成功' ,['url'=>'/api/pic/'.$file_name]);
  41. }
  42. public function get_pic($file_name){
  43. if(file_exists(storage_path().'/app/public/pic/'.$file_name.'.png')){
  44. $ext = 'png';
  45. }elseif(file_exists(storage_path().'/app/public/pic/'.$file_name.'.jpeg')){
  46. $ext = 'jpeg';
  47. }elseif(file_exists(storage_path().'/app/public/pic/'.$file_name.'.jpg')){
  48. $ext = 'jpg';
  49. }elseif(file_exists(storage_path().'/app/public/pic/'.$file_name.'.gif')){
  50. $ext = 'gif';
  51. }else{
  52. $ext = 'xlsx';
  53. // if(file_exists(storage_path().'/app/public/pic/basic/'.$file_name.'.gif')){
  54. // return response()->file(storage_path().'/app/public/pic/'.$file_name.'.'.$ext);
  55. // }else{
  56. // return response()->file(storage_path().'/app/public/pic/'.$file_name.'.'.$ext);
  57. // }
  58. }
  59. return response()->file(storage_path().'/app/public/pic/'.$file_name.'.'.$ext);
  60. }
  61. public function get_basic_pic($file_name){
  62. return response()->file(storage_path().'/app/public/pic/basic/'.$file_name.'.png');
  63. }
  64. }