ActiveStorage에서 영구 URL 검색 지원 (Rails v6.1.0)
4736 단어 Rails6ActiveStorageS3Rails
지금까지
지금까지의 ActiveStorage는 rails_representation_url
참고
htps : // m / shwld / ms / 07 A 2 cdc19c38156 E 52 Ae
htps : // 이 m / n mba kfm / ms / f7c1f9 77346891 b8c
ActiveStorage로 공개 URL 검색 가능
Rails 6.1에 올리는 작업을 했을 때 멋진 업데이트를 발견
https://魏Tub. 작은 m/오리 ls/오리 ls/레 땀 s/그 외 g/V6.1.0
아무래도 rails_storage_proxy_path(_url)
라고 하는 것과 rails_storage_redirect_path(_url)
라고 하는 헬퍼가 추가된 것 같습니다.
깨끗이 수중에서 확인
class User < ApplicationRecord
has_one_attached :avator
end
user = User.first
rails_storage_proxy_path(user.avator)
# => "/rails/active_storage/blobs/proxy/*****/sample_avator.png"
rails_storage_redirect_path(user.avator)
# => "/rails/active_storage/blobs/redirect/*****/sample_avator.png"
과연 blobs의 뒤가 proxy인지 redirect인지에 따라 다릅니다.
localhost에서 해당 URL에 액세스하면 제대로 이미지가 표시되었습니다.
각 행동을 확인해 보았습니다.
rails_storage_proxy_url로 이동
HTTP/1.1 200 OK
Rails에서 파일 서비스에 액세스하고 파일 데이터를 200 상태로 반환합니다.
$ curl -I http://localhost:3000/rails/active_storage/blobs/proxy/*****/sample_avator.png
HTTP/1.1 200 OK
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none
Referrer-Policy: strict-origin-when-cross-origin
Date: Fri, 05 Feb 2021 02:27:10 GMT
ETag: W/"0749f09799210b2111ecea087fd54baa"
Last-Modified: Fri, 31 Dec 2010 15:00:00 GMT
Content-Type: image/png
Content-Disposition: inline; filename="sample_avator.png"; filename*=UTF-8''sample_avator.png
Cache-Control: max-age=3155695200, public
X-Request-Id: f15dee76-089f-46f9-b336-e965bec65b38
X-Runtime: 0.005844
rails_storage_redirect_url로 이동
HTTP/1.1 302 Found
로 돌아온 것을 볼 수 있다
Rails로 파일 서비스에 시간 제한 URL을 얻고있는 거기로 리디렉션하고 있을까
$ curl -I http://localhost:3000/rails/active_storage/blobs/redirect/*****/sample_avator.png
HTTP/1.1 302 Found
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none
Referrer-Policy: strict-origin-when-cross-origin
Date: Fri, 05 Feb 2021 02:27:31 GMT
Location: http://localhost:3000/rails/active_storage/disk/*****/sample_avator.png
Content-Type: text/html; charset=utf-8
Cache-Control: max-age=300, private
X-Request-Id: 87c221d3-e894-41ef-bebf-e65f155a40a6
X-Runtime: 0.015136
결론
편리!
지금까지는 ActiveStorage를 래핑하여 공개 엔드포인트를 얻을 수 있는 메소드를 살리고 있었기 때문에 사랑하고 싶은 삭제 PR을 던질 수 있었습니다
Reference
이 문제에 관하여(ActiveStorage에서 영구 URL 검색 지원 (Rails v6.1.0)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tatematsu-k/items/3c2c4688a1008995f8d2
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Rails 6.1에 올리는 작업을 했을 때 멋진 업데이트를 발견
https://魏Tub. 작은 m/오리 ls/오리 ls/레 땀 s/그 외 g/V6.1.0
아무래도
rails_storage_proxy_path(_url)
라고 하는 것과 rails_storage_redirect_path(_url)
라고 하는 헬퍼가 추가된 것 같습니다.깨끗이 수중에서 확인
class User < ApplicationRecord
has_one_attached :avator
end
user = User.first
rails_storage_proxy_path(user.avator)
# => "/rails/active_storage/blobs/proxy/*****/sample_avator.png"
rails_storage_redirect_path(user.avator)
# => "/rails/active_storage/blobs/redirect/*****/sample_avator.png"
과연 blobs의 뒤가 proxy인지 redirect인지에 따라 다릅니다.
localhost에서 해당 URL에 액세스하면 제대로 이미지가 표시되었습니다.
각 행동을 확인해 보았습니다.
rails_storage_proxy_url로 이동
HTTP/1.1 200 OK
Rails에서 파일 서비스에 액세스하고 파일 데이터를 200 상태로 반환합니다.$ curl -I http://localhost:3000/rails/active_storage/blobs/proxy/*****/sample_avator.png
HTTP/1.1 200 OK
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none
Referrer-Policy: strict-origin-when-cross-origin
Date: Fri, 05 Feb 2021 02:27:10 GMT
ETag: W/"0749f09799210b2111ecea087fd54baa"
Last-Modified: Fri, 31 Dec 2010 15:00:00 GMT
Content-Type: image/png
Content-Disposition: inline; filename="sample_avator.png"; filename*=UTF-8''sample_avator.png
Cache-Control: max-age=3155695200, public
X-Request-Id: f15dee76-089f-46f9-b336-e965bec65b38
X-Runtime: 0.005844
rails_storage_redirect_url로 이동
HTTP/1.1 302 Found
로 돌아온 것을 볼 수 있다Rails로 파일 서비스에 시간 제한 URL을 얻고있는 거기로 리디렉션하고 있을까
$ curl -I http://localhost:3000/rails/active_storage/blobs/redirect/*****/sample_avator.png
HTTP/1.1 302 Found
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none
Referrer-Policy: strict-origin-when-cross-origin
Date: Fri, 05 Feb 2021 02:27:31 GMT
Location: http://localhost:3000/rails/active_storage/disk/*****/sample_avator.png
Content-Type: text/html; charset=utf-8
Cache-Control: max-age=300, private
X-Request-Id: 87c221d3-e894-41ef-bebf-e65f155a40a6
X-Runtime: 0.015136
결론
편리!
지금까지는 ActiveStorage를 래핑하여 공개 엔드포인트를 얻을 수 있는 메소드를 살리고 있었기 때문에 사랑하고 싶은 삭제 PR을 던질 수 있었습니다
Reference
이 문제에 관하여(ActiveStorage에서 영구 URL 검색 지원 (Rails v6.1.0)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tatematsu-k/items/3c2c4688a1008995f8d2
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(ActiveStorage에서 영구 URL 검색 지원 (Rails v6.1.0)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tatematsu-k/items/3c2c4688a1008995f8d2텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)