UploadController.php 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839
  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. Log::debug('hasfile:'.json_encode($request->hasFile('image')));
  11. Log::debug('isvalid:'.json_encode($request->file('image')->isValid()));
  12. if($request->hasFile('image') && $request->file('image')->isValid()){
  13. $path = $request->get('path') ? $request->get('path').'/' : date('Ym').'/';
  14. //获取文件的原文件名 包括扩展名
  15. // $yuanname= $request->file('image')->getClientOriginalName();
  16. // //获取文件的扩展名
  17. $kuoname=$request->file('image')->getClientOriginalExtension();
  18. // //获取文件的类型
  19. // $type=$request->file('image')->getClientMimeType();
  20. // //获取文件的绝对路径,但是获取到的在本地不能打开
  21. $filePath=$request->file('image')->getRealPath();
  22. //要保存的文件名 时间+扩展名
  23. $filename=time() . '_' . uniqid() .'.'.$kuoname;
  24. $imageUrl = Storage::put($path.$filename, file_get_contents($filePath));
  25. Log::debug('upload_url:'.$imageUrl);
  26. if($imageUrl){
  27. return $this->jsonSuccess(['url' => $path.$filename]);
  28. }else{
  29. return $this->jsonError('图片上传失败,请重试');
  30. }
  31. }else{
  32. return $this->jsonError('仅支持图片上传,请重试');
  33. }
  34. }
  35. }