如何使用magento 2 admin中的浏览按钮上传视频?

时间:2017-04-14 12:11:46

标签: requirejs magento2

我尝试在添加视频部分中放置浏览按钮,但我无法保存该视频。

请帮我解决这个问题。

2 个答案:

答案 0 :(得分:0)

您需要创建一个插件来处理您的文件,然后将其上传到媒体文件夹并将该文件保存到数据库

供应商\模块名\模型\插件\ Adminhtml \产品\初始化\ HelperPlugin

 <?php
    namespace Vendor\ModuleName\Model\Plugin\Adminhtml\Product\Initialization;

    use \Magento\Catalog\Controller\Adminhtml\Product\Initialization\Helper;

    class HelperPlugin
    {
        protected $mediaDirectory;
        protected $objectManager;

        public function __construct(
            \Magento\Framework\Filesystem $mediaDirectory,
            \Magento\Framework\ObjectManagerInterface $objectManager
        ) {
            $this->mediaDirectory = $mediaDirectory;
            $this->objectManager = $objectManager;
        }

        public function afterInitialize(Helper $subject, $result)
        {
            if(!empty($_FILES['product']['name']['yourvideoatributename'])) {
                $uploader = $this->objectManager->create('\Magento\MediaStorage\Model\File\Uploader', ['fileId' => 'product[yourvideoatributename]']);
                $mediaDirectory = $this->mediaDirectory->getDirectoryRead(\Magento\Framework\App\Filesystem\DirectoryList::MEDIA);
                $wrapDir = uniqid();
                $fileName = $uploader->getCorrectFileName($_FILES['product']['name']['yourvideoatributename']);
                $saveResult = $uploader->save($mediaDirectory->getAbsolutePath('catalog/product/manual/' . $wrapDir), $fileName);
                $result['yourvideoatributename'] = 'catalog/product/yourvideoatributename/' . $wrapDir . '/' . $saveResult['file'];
            }

            return $result;
        }
    }

供应商\模块名\等\ adminhtml \ di.xml     

<config>
    <type name="\Magento\Catalog\Controller\Adminhtml\Product\Initialization\Helper">
        <plugin name="yourp-initialize-after" type="Vendor\ModuleName\Model\Plugin\Adminhtml\Product\Initialization\HelperPlugin"/>
    </type>
</config>

答案 1 :(得分:-1)

上传产品视频:

第1步:获取YouTube API密钥

第2步:配置Magento

第3步:链接到视频

第1步:获取YouTube API密钥

登录您的Google帐户,然后访问Google Developers Console。然后,请按照以下步骤操作:

在使用Google API下,点击Youtube Data API。

在左侧面板中选择Credentials,单击Create Credentials并选择API密钥。

提示您创建新密钥时,请选择“服务器密钥”。输入密钥和IP地址的名称,然后单击“创建”。

获得密钥后,将密钥复制到剪贴板。

第2步:配置Magento

在管理员边栏,商店&gt;设置&gt;配置。

在面板的“目录”下,选择“目录”。

展开“产品视频”部分,将Youtube API密钥粘贴到必填字段中。

如何上传产品视频添加API密钥

单击“保存配置”。

转到缓存管理以刷新缓存。

第3步:链接到视频

在Poduct Detail中,单击图像和视频中的添加视频。

输入YouTubeu或Vimeo视频的网址。

在URL字段中,如果您尚未输入Youtube API密钥,则会显示系统错误消息,单击“确定”继续。

如何上传产品视频错误消息

输入视频的标题和说明。

要上传预览图像,请浏览图像并选择文件。

如果您更喜欢使用视频元数据,请点击获取视频信息。

要将角色分配给视频,请标记每个角色的相应复选框:

基本图像

小图片

色板图片

缩略图

从产品页隐藏

完成后,点击保存。