background-image:url无法用于Amazon S3图像

 aijunli2502898197 发布于 2023-01-09 17:36

我想要的是

我正在尝试为class设置背景图像,该图像存储在Amazon s3上,我正在通过Rails上的回形针对象访问该图像

CSS类

.user-area{
    background-image:url('<%=@user.background_image.expiring_url %>');
    background-repeat:no-repeat;
    width:1025px !important;
    margin-top:100px !important;
}

放在浏览器上

.user-area{
    background-image:url('https://xyz-customers.s3.amazonaws.com/photos/7/superbackground.jpg?AWSAccessKeyId=xxxxxxxxxxxxx&Expires=1402511741&Signature=xxxxxxxxxxxxxxxx');
    background-repeat:no-repeat;
    width:1025px !important;
    margin-top:100px !important;
}

问题

该图像在浏览器上不可见,但是当我访问Amazon s3 url(在css类上生成)时,我可以查看该图像。

浏览器还会为此文件抛出403错误, is a Failed to load resource: the server responded with a status of 403 (Forbidden)

1 个回答
  • 我终于通过在我的CSS代码上进行此更改来解决了这个问题

    变更前

    .user-area{
         background-image:url('<%=@user.background_image.expiring_url %>');
        background-repeat:no-repeat;
        width:1025px !important;
        margin-top:100px !important;
    }
    

    变更后

    .user-area{
            /*I remove the code for background-image:url and make it as inline css on my div*/
            background-repeat:no-repeat;
            width:1025px !important;
            margin-top:100px !important;
        }
    

    我将background-image属性从类中移出,并直接作为内联CSS添加到了div中,然后它就像魅力一样工作。

    <div class="user-area" >
    </div>
    

    我并不是说这是最好的解决方案,但是对于我的代码工作流程来说已经足够了。

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