由gmail代理阻止的SVG图像

 手机用户2702938421 发布于 2023-02-07 18:07

似乎图像的新gmail代理不能与SVG一起使用(如果在新选项卡中打开代理URL,则会出现404错误.)

我无法找到有关支持/阻止的文件类型的任何文档.在gmail中的SVG是否适用于其他任何人?

我能想到的唯一解决方法是使用PhantomJS在服务器上生成一个svg - 还有其他任何选项吗?

背景:

这适用于发送每日摘要电子邮件的webapp,显示过去24小时内的图表(因此svg每天都不同,在电子邮件中显示它会让用户省去点击应用程序的麻烦.)

我知道SVG图像在某些电子邮件客户端中不起作用,但它可以工作95%,其余的仍然可以点击进入webapp.

它在gmail中运行良好,直到本月早些时候代理更改(该月底刚刚推出到Google Apps帐户.)

1 个回答
  • 我从谷歌的支持中听说过,他们已经确认目前没有计划在代理中支持SVG图像.他们表示,他们只占100,000个电子邮件图片中的1个.

    除了PhantomJs之外,更简单的svg选项是php插件ImageMagick.

    这里有一些示例代码可以帮助您入门:

    header("Content-Type: image/png");
    header("Content-Disposition: inline;");
    if (empty($svg)) {
        readfile("invisibleImage.png", true);
    } else {
    
        //TODO: You'll probably want to set headers to cache the returned image
    
        $filepath = "/path/to/where/images/are/cached/";
    
        if (!file_exists("$filepath$svgName.png")) {
            if (!is_dir($filepath)) {
                mkdir($filepath, 0700, 1);
            }
            file_put_contents("$filepath$svgName.svg", $svg);
            $cmd = "rsvg-convert $filepath$msk.svg > $filepath$svgName.png";
            exec($cmd);
            unlink("$filepath$svgName.svg");
        }
        readfile("$filepath$svgName.png");
    }
    

    您将要安装至少以下某些内容:

    apt-get install librsvg2-bin libpng3 imagemagick libpng12-dev \
    

    2023-02-07 18:10 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有