[RUBY-ON-RAILS] 어떻게 레일의 URL에서 파일과 저장을 다운로드 할 수 있습니까?
RUBY-ON-RAILS어떻게 레일의 URL에서 파일과 저장을 다운로드 할 수 있습니까?
난 내 응용 프로그램에 대한 미리보기를 생산하는 종이 클립을 사용할 수 있도록하는 것이, 내가 로컬로 저장하려는 이미지에 대한 URL이 있습니다. 이미지를 다운로드하고 저장하는 가장 좋은 방법은 무엇입니까? (나는 루비 파일 처리로 보았지만 아무것도 건너하지 않았다.)
해결법
-
==============================
1.이 시도:
이 시도:
require 'open-uri' open('image.png', 'wb') do |file| file << open('http://example.com/image.png').read end
-
==============================
2.더 짧은 버전 :
더 짧은 버전 :
require 'open-uri' download = open('http://example.com/image.png') IO.copy_stream(download, '~/image.png')
같은 파일 이름을 유지하려면 :
IO.copy_stream(download, "~/#{download.base_uri.to_s.split('/')[-1]}")
-
==============================
3.당신이 클립을 사용하는 경우, URL에서 다운로드하면 자동으로 처리됩니다.
당신이 클립을 사용하는 경우, URL에서 다운로드하면 자동으로 처리됩니다.
당신이 좋아하는 무언가를 가지고 가정 :
class MyModel < ActiveRecord::Base has_attached_file :image, ... end
모델에서 단지 URL이 같은 (고의적 긴 형식으로 작성)와 같은 이미지를 지정합니다 :
@my_model = MyModel.new image_url = params[:image_url] @my_model.image = URI.parse(image_url)
당신은 아마 모델의 방법에 넣고 싶을 것이다. 이것은 또한 Heroku가의 임시 파일 시스템에서 잘 작동합니다.
종이 클립은 거기에서 그것을 취할 것입니다.
출처 : 클립 문서
-
==============================
4.나는 이것이 가장 분명한 방법이라고 생각 :
나는 이것이 가장 분명한 방법이라고 생각 :
require 'open-uri' File.write 'image.png', open('http://example.com/image.png').read
-
==============================
5.인터넷을 확인하십시오 : HTTP를 표준 라이브러리에. 문서는 HTTP를 사용하여 문서를 다운로드하는 방법에 대한 몇 가지 예제를 제공합니다.
인터넷을 확인하십시오 : HTTP를 표준 라이브러리에. 문서는 HTTP를 사용하여 문서를 다운로드하는 방법에 대한 몇 가지 예제를 제공합니다.
from https://stackoverflow.com/questions/2515931/how-can-i-download-a-file-from-a-url-and-save-it-in-rails by cc-by-sa and MIT license
'RUBY-ON-RAILS' 카테고리의 다른 글
[RUBY-ON-RAILS] MySQL로 sqlite가에서 레일 응용 프로그램에 루비를 변환? (0) | 2020.02.08 |
---|---|
[RUBY-ON-RAILS] 레일에 has_one 협회와 빌드를 사용하여 (0) | 2020.02.08 |
[RUBY-ON-RAILS] 생산에 레일 응용 프로그램 변경 (0) | 2020.02.07 |
[RUBY-ON-RAILS] 4 정품 토큰 레일 (0) | 2020.02.07 |
[RUBY-ON-RAILS] 어떻게 루비 레일에 이전 페이지로 리디렉션? (0) | 2020.02.07 |