Tag: amazon s3

使用plupload和Rails 3的Amazon S3 Multipart上传

亚马逊具有分段上传function,您可以在其中发送文件并将其汇总到S3上。 这允许一些很好的简历,如上传到S3的function。 从另一个问题我得到了这个很好的链接: Rails 3和Plupload 我的问题是,有没有人有任何他们在Amazon多部分function中使用plupload chunkingfunction的例子? 理想情况下有载波和雾。 我可以看到它做了以下事情: 使用plupload为上传生成唯一ID, 当plupload开始时我们可以做一个事件吗? 将ajax请求附加到使用ID完成的块 在服务器上使用ajax控制器方法,使用ID上传到s3 当所有人都完成火灾时 控制器动作重新组装 据说有一些PHP代码可以进行一些组合,但不能与S3一起使用,我无法阅读PHP。

Rails:允许下载存储在S3上的文件,而不向用户显示实际的S3 URL

我在Heroku上托管了一个Rails应用程序。 该应用程序在Amazon S3上生成并存储PDF文件。 用户可以下载这些文件以便在浏览器中查看或保存在他们的计算机上。 我遇到的问题是虽然可以通过S3 URL下载这些文件(如“https://s3.amazonaws.com/my-bucket/F4D8CESSDF.pdf”),但这显然不是一个好方法。它。 不希望向用户暴露关于后端的大量信息,更不用说上升的安全问题了。 是否有可能让我的应用以某种方式从控制器中的S3检索文件数据,然后为用户创建下载流,以便不暴露亚马逊URL?

Ruby on Rails,Paperclip,Heroku,GitHub和AWS – 保护密钥

我正在使用Heroku托管的RoR,我想使用paperclip在s3上存储文件。 我的源代码托管在github上,并且具有全局可读性。 将密钥与世界其他地方保密的最佳做法是什么? Paperclip建议访问密钥存储在配置文件中(或代码中),例如我有: file:config / s3.yml access_key_id: my_access_key_id secret_access_key: my_very_secret_key bucket: bucket_name Heroku通过将代码提交给本地git然后将其推送到Heroku来工作。 因为我也在使用github,所以我也将相同的代码推送到github。 这意味着我也在那里推出了密钥。 我目前正在使用世界上可读的github帐户,所以如果我支付github,我可以解决一半的问题,但我仍然不满意代码中的配置文件中的密钥。 我不知道是否有更好的做法。 保持密钥保密并仍使用上述库和服务列表的最佳做法是什么? 顺便说一下,我上周才开始使用ror和heroku所以我可能会被认为是newbe,请体谅;)谢谢!

从临时URL保存S3中的图片

我正在开发一个ruby on rails的网站,用户可以通过回形针上传图片,它存储在亚马逊S3中 。 之后,他们可以通过鸟舍修改图片。 但是当我想要保存新图片时,鸟舍只给了我一个临时URL,我可以在其中获取我修改后的图片。 回形针可以做到吗? 我不认为它可以保存URL中的图片并将其存储到S3? 我现在搜索了一个星期,我不知道最好的方法。 我读过有关filepicker的内容 ,但是在S3文件中存储数据的帐户并不是免费的… 最后我听说过这个s3 https://github.com/qoobaa/s3 ,但我不明白如何使用它。 我已经安装了gem s3,但是当我设置require ‘s3’ ,它无法识别。 什么是最好的?

PDF.js消息:文件来源与查看者不匹配(Amazon S3)

在Rails应用程序中,使用pdfjs_viewer-rails gem( https://github.com/senny/pdfjs_viewer-rails ),我一直看到这个错误: PDF.js v1.3.91 (build: d1e83b5) Message: file origin does not match viewer’s 我认为这是因为PDF是托管在Amazon S3上的,我在这里阅读了CORS的讨论( https://github.com/mozilla/pdf.js/wiki/Frequently-Asked-Questions#faq-xhr ) 。 但是,我无法组装有效的COSR配置。 我目前的存储桶配置是: * GET Range 3000 Accept-Ranges Content-Range Content-Encoding Content-Length Authorization 为了安全起见,我在我的rails应用程序中: config.action_dispatch.default_headers = { ‘Access-Control-Allow-Origin’ => ‘*’, ‘Access-Control-Request-Method’ => %w{GET}.join(“,”) } 有没有其他人能够克服这个? 有谁知道一个适用于pdf.js和amazon s3的CORS政策?

使用Paperclip和IAM策略将文件上载到Amazon时拒绝访问

我无法使用S3 IAM策略使用Paperclip上传。 我甚至遇到直接jQuery上传的问题(没有Paperclip)。 我的方案如下,我有一个应用程序,将有许多网站。 每个站点都有自己的桶,应该只能访问自己的桶,没有其他人的桶。 IAM示例策略文档在“示例:允许每个IAM用户访问存储桶中的文件夹”下准确说明了我想要执行的操作。 我为应用程序设置了一个IAM组,并且该组中每个站点都有一个用户。 这些IAM用户属于该组。 该小组的政策如下: { “Version”:”2012-10-17″, “Statement”:[{ “Effect”:”Allow”, “Action”:[ “s3:PutObject”, “s3:GetObject”, “s3:GetObjectVersion”, “s3:DeleteObject”, “s3:DeleteObjectVersion” ], “Resource”:”arn:aws:s3:::my-app/${aws:username}/*” } ] } 这是我在存储桶上的CORS配置,当然开发时它会被锁定: * GET POST PUT * 这是我的Paperclip设置: has_attached_file :background_image, storage: :s3, s3_credentials: { access_key_id: “xxx”, secret_access_key: “xxx” }, bucket: “my-app”, s3_permissions: “public-read”, path: “/background_images/:id/:filename” 我以前一直在使用直接在策略上的策略,它确实有效,但是当我进入具有许多“站点”的生产环境时,它不像我需要的那样灵活。 据我所知,我已完全遵循文档,但我所做的任何事情都会导致“访问被拒绝”。 此时我甚至不确定我的问题是我的IAM策略还是我的Paperclip配置。 编辑:澄清。 编辑2:最终解决方案 以下是基于本文的最终IAM策略: { […]

AWS的未定义方法`find’:: S3 :: Bucket:Class

我正在为rails项目实现Amazon S3上传器。 我正在尝试访问一个桶,以便我可以将所有图像分配给变量并列出它们。 当我尝试在上传控制器中查看我的新操作时,我不断收到以下错误: undefined method `find’ for AWS::S3::Bucket:Class 这是我的uploads_controller.rb class UploadsController < ApplicationController require 'aws/s3' def new photo_bucket = AWS::S3::Bucket.find('photos') @photos = photo_bucket.objects end end find方法记录在http://amazon.rubyforge.org/ 。 关于这里发生了什么的任何线索? 谢谢。 这是我的Gemfile: gem ‘paperclip’ gem ‘aws-s3’ gem ‘aws-sdk’ gem ‘rails’, ‘3.2.0’ gem ‘bcrypt-ruby’, ‘3.0.1’ gem ‘nokogiri’ gem ‘kaminari’ gem ‘acts-as-taggable-on’, ‘~> 2.2.2’ gem ‘omniauth-twitter’ gem ‘omniauth-facebook’ […]

我们可以找到Paperclip下载完成的时间吗?

我有一个应用程序,我需要知道用户的Rails / Paperclip文件下载何时完成 。 我的应用程序设置为与Amazon S3交互,我需要在用户收到完成的文件时运行javascript函数。 我怎样才能做到这一点?

rails assets:在slug期间为s3错误预编译:当设置env时,雾提供程序和目录不能为空

我决定通过S3提供rails资产; heroku有很好的教程如何做到这一点。 该网站现在提供来自我的亚马逊桶的资产,但我不确定为什么我必须手动运行heroku run rake assets:precompile在heroku run rake assets:precompile的git push heroku master之后rake assets:precompile 。 运行git push heroku master后, git push heroku master了不在我的桶中的资产以及预编译内容的输出: AssetSync: using default configuration from built-in initializer AssetSync: using default configuration from built-in initializer rake aborted! Fog provider can’t be blank, Fog directory can’t be blank /tmp/build_3vtwfg15g8ajx/vendor/bundle/ruby/1.9.1/gems/asset_sync-0.5.0/lib/asset_sync/asset_sync.rb:29:in `sync’ /tmp/build_3vtwfg15g8ajx/vendor/bundle/ruby/1.9.1/gems/asset_sync-0.5.0/lib/tasks/asset_sync.rake:3:in `block in ‘ Tasks: […]

AWS S3 / Ruby on Rails / heroku:我的应用程序中的安全漏洞

我的配置中有一条路由,表示对于一个页面,例如/secure ,需要登录(通过authlogic完成)。 我的控制器中的before_filter负责处理。 这很好,页面及其资源限制访问 – 通过应用程序。 麻烦的是,我们在部署到heroku的这个应用程序(基于refinerycms)上使用Amazon S3进行存储。 我有一个水桶,它工作正常。 但是,可以通过浏览器直接访问插入应用程序安全部分的任何资源。 换句话说, /secure页面包含pdf文件之类的项目。 虽然通过应用程序可以保护资源,但可以从Internet的任何位置访问这些pdf文件(示例URL): http : //s3.amazonaws.com/my_bucket/images/1234/the_file_which_should_be_secure.pdf 我可以在S3上进行细粒度的访问控制吗? 我必须创建一个新桶吗? 理想情况下,我想在我的资源上设置一个标志,使其在互联网上不可见 – 不知道。 任何建议都欢迎。 PS openid.org有一个过期的ssl证书,所以需要创建一个新的空帐户,因为我无法登录