0

我在 Heroku 上托管一个 rails 应用程序。为了减少 slug 的大小,我已通过 jammit-s3 gem 将所有公用文件夹文件移动到 Amazon S3。一切都很完美。我的应用程序可以从 s3 访问和显示图像、js 和 css 文件,但是有一个问题。

我在我的应用程序中使用 Adob​​e Edge(用于动画的新 HTML5 工具)作为图库。Adobe Edge 会自动创建一些 javascript 和 css 文件。一个javascript文件(public/javascripts/x.js)的一部分如下:

content: {
  dom: [
    {
        id:'Image1',

        type:'image',
        rect:[0,0,600,400],
        fill:['rgba(0,0,0,0)','../images/schimg1.png'],
    },

如您所见,它将 schimg1.png (public/images/) 作为参数。在将我的文件移动到 S3 之前,javascript 可以访问图像并通过向上一个文件夹访问图像来显示它。但是在转移到 S3 之后,这不再起作用了。当我在 Heroku 上托管公用文件夹时,它运行良好。

知道如何解决这个问题吗?我希望有一个不涉及对 javascript 进行重大修改的解决方案,因为它是自动生成的。

4

1 回答 1

0

'../images/schimg1.png' 是一个相对路径,如果图像在 Heroku slug 中并且在 heroku 应用服务器上的正确位置,它将起作用。

如果您的图像在 S3 上,那么您必须将其更改为:

'http://myamazons3.account.subdomain/pathtoimage/schimg1.png'

于 2011-08-20T21:25:27.497 回答