簡體   English   中英

如何將“File.open”翻譯為S3兼容?

[英]How do I translate “File.open” to be S3 compatible?

我有這條線..

@organization.search_image = File.open(@photo.photo.path(:original))

除了尋找本地的東西,現在我的所有照片都在S3上。 我如何將其轉換為在S3上打開文件?

我認為你應該做的是在S3中下載/流式傳輸圖像並將其寫入新文件然后使用新文件。

open('newpic.png', 'w') do |file|
    S3Object.stream('pic.png', 'bucket_name') do |chunk|
      file.write chunk
    end
end

#Write the streamed file to newpic.png then use newpic.png.

您可以想到兩個選項:

  1. 使用S3 Ruby綁定並使用S3提供的抽象訪問您的數據。
  2. 繼續文件系統抽象,但使用FUSES3綁定到本地代理文件系統,這可用於* nix / OSX(但據我所知,不適用於Windows),這種方法不太普遍適用。 這也可能比選項1效率低。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM