2

I am trying to create a custom component for upload mp4 video like image uploading component. Video is uploading and save fine and also show on front cms-page but after the save video will be remove or not showing on backend.

Does anyone know the solution or allow mp4 video upload ?

Here I allow the extension for mp4

Magento\PageBuilder\Controller\Adminhtml\ContentType\Image\Upload.php

public function execute() { $fieldName = $this->getRequest()->getParam('param_name'); $fileUploader = $this->uploaderFactory->create(['fileId' => $fieldName]); // Set our parameters $fileUploader->setFilesDispersion(false); $fileUploader->setAllowRenameFiles(true); $fileUploader->setAllowedExtensions(['jpeg','jpg','png','gif','mp4', 'pdf']); $fileUploader->setAllowCreateFolders(true); try { if (!$fileUploader->checkMimeType(['image/png', 'image/jpeg', 'image/gif', 'image/mp4', 'image/pdf'])) { throw new \Magento\Framework\Exception\LocalizedException(__('File validation failed.')); } $result = $fileUploader->save($this->getUploadDir()); $baseUrl = $this->_backendUrl->getBaseUrl(['_type' => \Magento\Framework\UrlInterface::URL_TYPE_MEDIA]); $result['id'] = $this->cmsWysiwygImages->idEncode($result['file']); $result['url'] = $baseUrl . $this->getFilePath(self::UPLOAD_DIR, $result['file']); } catch (\Exception $e) { $result = [ 'error' => $e->getMessage(), 'errorcode' => $e->getCode() ]; } return $this->resultJsonFactory->create()->setData($result); } 

and this is Preview.html of custom component

 <div class="pagebuilder-content-type pagebuilder-image type-nested" event="{ mouseover: onMouseOver, mouseout: onMouseOut }, mouseoverBubble: false"> <render args="getOptions().template" ></render> <figure attr="data.main.attributes" ko-style="Object.assign({}, data.main.style(), !data.desktop_image.attributes().src ? {} : {borderStyle: 'none'})" css="data.main.css"> <scope args="getUploader().getUiComponent()"> <render ></render> </scope> <video if="getViewportImageData().attributes().src" attr="getViewportImageData().attributes" class="preview-image" css="getViewportImageData().css" ko-style="getViewportImageData().style" controls> </video> </figure> </div> 
1
  • I think this is something related to how the html is parsed if you edit the element again. I have the same issue and similar issues with other fields and the solution was the interplay of the master.html and the content_type/xyz.xml. Maybe this helps a bit Commented Nov 3, 2023 at 12:04

0

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.