BootstrapMultipleImage.php 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. <?php
  2. namespace Dcat\Admin\Form\Field;
  3. use Symfony\Component\HttpFoundation\File\UploadedFile;
  4. class BootstrapMultipleImage extends BootstrapMultipleFile
  5. {
  6. use ImageField;
  7. /**
  8. * {@inheritdoc}
  9. */
  10. protected $view = 'admin::form.bootstrapmultiplefile';
  11. /**
  12. * Validation rules.
  13. *
  14. * @var string
  15. */
  16. protected $rules = ['image'];
  17. /**
  18. * Prepare for each file.
  19. *
  20. * @param UploadedFile $image
  21. *
  22. * @return mixed|string
  23. */
  24. protected function prepareForeach(UploadedFile $image = null)
  25. {
  26. $this->name = $this->getStoreName($image);
  27. $this->callInterventionMethods($image->getRealPath(), $image->getMimeType());
  28. return tap($this->upload($image), function () {
  29. $this->name = null;
  30. });
  31. }
  32. /**
  33. * Render a image form field.
  34. *
  35. * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
  36. */
  37. public function render()
  38. {
  39. $this->options(['allowedFileTypes' => ['image']]);
  40. return parent::render();
  41. }
  42. }