UploadController.php 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. <?php
  2. namespace App\Http\Controllers;
  3. use Illuminate\Http\Request;
  4. use Illuminate\Support\Facades\Log;
  5. use Illuminate\Support\Facades\Storage;
  6. class UploadController extends Controller
  7. {
  8. public function uploadImage(Request $request)
  9. {
  10. if($request->hasFile('image') && $request->file('image')->isValid()){
  11. $path = $request->get('path') ? $request->get('path').'/' : date('Ym').'/';
  12. //获取文件的原文件名 包括扩展名
  13. // $yuanname= $request->file('image')->getClientOriginalName();
  14. // //获取文件的扩展名
  15. $kuoname=$request->file('image')->getClientOriginalExtension();
  16. // //获取文件的类型
  17. // $type=$request->file('image')->getClientMimeType();
  18. // //获取文件的绝对路径,但是获取到的在本地不能打开
  19. $filePath=$request->file('image')->getRealPath();
  20. //要保存的文件名 时间+扩展名
  21. $filename=time() . '_' . uniqid() .'.'.$kuoname;
  22. $imageUrl = Storage::put($path.$filename, file_get_contents($filePath));
  23. Log::debug('upload_url:'.$imageUrl);
  24. if($imageUrl){
  25. return $this->jsonSuccess(['url' => $path.$filename]);
  26. }else{
  27. return $this->jsonError('图片上传失败,请重试');
  28. }
  29. }else{
  30. return $this->jsonError('仅支持图片上传,请重试');
  31. }
  32. }
  33. }