UploadController.php 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  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. if ($request->hasFile('image') && $request->file('image')->isValid()) {
  10. $path = $request->get('path') ? $request->get('path') . '/' : date('Ym') . '/';
  11. // //获取文件的扩展名
  12. $kuoname = $request->file('image')->getClientOriginalExtension();
  13. // //获取文件的类型
  14. // $type=$request->file('image')->getClientMimeType();
  15. // //获取文件的绝对路径,但是获取到的在本地不能打开
  16. $filePath = $request->file('image')->getRealPath();
  17. //要保存的文件名 时间+扩展名
  18. $filename = time() . '_' . uniqid() . '.' . $kuoname;
  19. $imageUrl = Storage::put($path . $filename, file_get_contents($filePath));
  20. Log::debug('upload_url:' . $imageUrl);
  21. if ($imageUrl) {
  22. return $this->jsonSuccess(['url' => $path . $filename]);
  23. } else {
  24. return $this->jsonError('图片上传失败,请重试');
  25. }
  26. } else {
  27. return $this->jsonError('仅支持图片上传,请重试');
  28. }
  29. }
  30. public function uploadImages(Request $request)
  31. {
  32. $files = $request->file('image');
  33. $fileCount = count($files);
  34. $urls = [];
  35. for ($i = 0; $i < $fileCount; $i++) {
  36. $kuoname = $files[$i]->getClientOriginalExtension();
  37. $filePath = $files[$i]->getRealPath();
  38. //要保存的文件名 时间+扩展名
  39. $filename = time() . '_' . uniqid() . '.' . $kuoname;
  40. $imageUrl = Storage::put($filename, file_get_contents($filePath));
  41. if ($imageUrl) {
  42. array_push($urls, $filename);
  43. } else {
  44. Log::debug('文件上传失败。' . $filename);
  45. }
  46. }
  47. if ($urls) {
  48. return $this->jsonSuccess($urls);
  49. } else {
  50. return $this->jsonError('图片上传失败,请重试');
  51. }
  52. }
  53. }