로컬에 저장된 이미지 데이터를 다운로드할 때

2732 단어 RubyRails

해결하고 싶은 일


로컬main에 저장합니다.jpg、top_map_off.jpg를 다운로드하고 싶습니다.

해결 방법


그림은 2진 모드로만 출력할 수 있기 때문에 오픈할 때 2진 모드를 지정합니다.
Zip::OutputStream.open('example.zip') do |zip|
  default_images = ["main", "top_map_off"]
  default_images.each do |default_image|
    img_path = Rails.root.join(
      "app", "lib",  "output", "download_tpl", @kikaku_date.kikaku_cd, "#{target}", "images", "#{default_image}.jpg 
    ) # ローカルに保存されている画像ファイルのフルパス
    zip.put_next_entry "#{@zip_file_basename}/#{target}/images/#{default_image}.jpg"
    zip.print open(img_path, "rb").read  # 画像をバイナリモードで開く
  end
end
Ruby에서 이진 데이터를 표준 출력으로 내보내기

좋은 웹페이지 즐겨찾기