我找不到如何使用rubyawssdk一次删除多个对象,在文档中,他们有一个关于如何删除包含文件的文件夹的代码示例:#batchoperations,deleteobjectsinbatchesof1kbucket.objects(prefix:'/tmp-files/').delete我正在寻找的是,提供文件key并立即删除它们,如下所示:bucket.objects(keys:['avatars/0b722c42-4003-42cc-887c-b820cad3aed9/avatar1.png','avatars/be1275f1-664f-4d47-9890-b5b2a066a18f
我目前正在尝试编写一个类似于Internet上其他系统的自定义图像裁剪系统,用户可以在其中选择裁剪区域,然后相应地裁剪他们的图像。该应用程序在Rails中,我们使用Paperclip和AmazonS3来存储文件。虽然让RMagick从S3中适本地裁剪文件,但我遇到了很多麻烦。这是当前代码(不起作用):ifparams[:width].to_i>0andparams[:height].to_i>0thenphoto=Photo.find(params[:id])image_data=Net::HTTP.get_response(URI.parse(photo.photo.url(:big
对于我的生活我无法理解基本的paperclipexample作品。Controller中只有一行,那就是@user=User.create(params[:user])我只是不明白将图像上传到s3所需的一切。我对这个例子做了很多改动,因为我想使用jqueryfileuploader而不是默认的rails表单助手,所以我正处于将图像发布到我的Controller的位置,但我无法弄清楚我应该如何从参数中获取图像并将其分配为附件.这是我看到的日志:Parameters:{"files"=>[#,@headers="Content-Disposition:form-data;name=\"fi
我正在试用PaperClip并喜欢它,它看起来是我们项目的一个很好的解决方案。但是,我们希望将上传的文件存储在服务器(ubuntu)上除公用文件夹之外的另一个位置,而S3不是一个选项。所以2个问题:1)如何设置路径和url以将上传存储到ubunto中除了应用程序根目录之外的另一个目录,或者,2)如何将上传的文件也存储在另一台局域网服务器上。提前感谢所有回复的人。经过详尽的搜索后,令我惊讶的是,谷歌只为仅使用rails_root或S3在PaperClip中进行存储的开发人员提供了搜索结果。此外,如果有人推荐一个更好的文件上传解决方案来满足我们的需求,请务必提出建议。再次感谢!
我有以下场景。在我的例子中考虑awss3文件夹结构如下-videos-my_videos-college我已经在college上传了视频文件myfirst_day.mp4,因为这个相关的形成键是"videos/my_videos/college/myfirst_day.mp4"现在我必须列出videos/my_videos/college目录中的所有文件。我该怎么做。为此,我正在使用aws-sdkgem 最佳答案 您可以简单地遍历bucketobjects并使用with_prefix方法s3.buckets[YOURBUCKETNA
我们有一些公开共享的S3文件,我们希望确保这些文件不会被Google编入索引。我似乎找不到有关如何执行此操作的任何文档。有没有办法在单个S3对象上设置“noindex”x-robots-tag响应header?(我们正在使用RubyAWS客户端) 最佳答案 not似乎是一种方法可以做到这一点。只有来自S3PUT对象请求的某些header被记录为在获取对象时返回。http://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPUT.html您发送的任何其他内容似乎都会被忽略,只要它实
我正在尝试使用rubyawssdk将图像上传到s3。如果我不设置content_type,我可以上传base64字符串。如果我确实将content_type设置为image/png,则上传的只是通用图像缩略图。obj=#>>params[:file]>>"data:image/png;base64,iVB...."obj.put(body:params[:file],content_type:'image/png',content_encoding:'base64')如何将Base64字符串上传到s3?如果更直接的话,我也愿意以字节形式上传 最佳答案
我的代码是这样的:moduleOperationsclassUploadFileToS3对于所有上传的文件,会自动设置以下属性:ExpiryDate:NoneExpirationRule:N/A上传对象的权限包括:Everyone:Open/DownloadBucket的权限包括:Everyone:ViewPermissions存储桶策略如下所示:{"Version":"2012-10-17","Statement":[{"Sid":"AddPerm","Effect":"Allow","Principal":"*","Action":"s3:GetObject","Resource"
我尝试将我的项目迁移到aws-sdk2。为此需要使用AWSSDKforRuby-Version2。我找到了所有方法,但我无法更改对文件的访问(公开)。在以后的版本中我使用这个:bucket.objects[file_path].acl=:public_read但我找不到更改新API版本的方法。这是指向oldapidocumentation的链接这是指向newapidocumentations的链接 最佳答案 我假设您希望在将对象上传到S3后更改对象ACL。如果可以,请考虑在将对象发送到S3时而不是之后设置ACL。有两种方法可以做到这
好的,所以我尝试了两种方法都失败了第一种方法使用aws-s3gemrequire'aws/s3'S3ID="MYACCESS"S3KEY="MYKEY"includeAWS::S3AWS::S3::Base.establish_connection!(:access_key_id=>S3ID,:secret_access_key=>S3KEY)bucket=AWS::S3::Bucket.find("test_bucket")=>#"http://s3.amazonaws.com/doc/2006-03-01/","name"=>"test_bucket","prefix"=>nil,