CRMEB系统云存储 视频无法预览

in 普通BLOG
0 评论 阅读量:718

背景

CRMEB商城系统配置腾讯云云存储后,代码中默认增加自定义header(非必填)。如果业务中上传的不是图片,而是mp4、excel等文件,会导致无法预览。

方案

找到代码位置屏蔽即可。
项目根目录/crmeb/services/upload/extend/cos/Client.php

/**
    * 上传文件
    * @param string $key
    * @param $body
    * @return string[]
    * @author 等风来
    * @email 136327134@qq.com
    * @date 2022/9/29
    */
public function putObject(string $key, $body)
{

    $this->checkOptions();

    $url = $this->makeUpUrl();

    $header = [
        // 'Content-Type' => 'image/jpeg', // 屏蔽这里即可
        'x-cos-acl' => $this->cosacl,
        'Content-MD5' => base64_encode(md5($body, true)),
        'Host' => $url
    ];

    $imageUrl = ($this->ssl() ? 'https://' : 'http://') . $url . '/' . $key;

    $res = $this->request($imageUrl, 'PUT', ['body' => $body], $header);

    if ($res && !empty($res['Message'])) {
        throw new UploadException($res['Message']);
    }

    return [
        'name' => $key,
        'path' => $imageUrl
    ];
}
Comments are closed.