gpt4 book ai didi

ruby-on-rails - 载波图像扩展

转载 作者:行者123 更新时间:2023-12-04 15:00:33 24 4
gpt4 key购买 nike

我正在尝试确定远程 url 是否是图像。大多数网址都有 .jpg、.png 等...但有些图片,如谷歌图片,没有扩展名...即

https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSbK2NSUILnFozlX-oCWQ0r2PS2gHPPF7c8XaxGuJFGe83KGJkhFtlLXU_u

我尝试使用 FastImage 来确定 url 是否是图像。当任何 URL 输入它时,它就可以工作......

如何确保远程 url 使用 FastImage 而上传的文件使用白名单?这是我的上传器中的内容。 Avatar_remote_url 无法识别...我在上传器中做什么来只测试远程 url 而不是常规文件。

  def extension_white_list
if defined? avatar_remote_url && !FastImage.type(CGI::unescape(avatar_remote_url)).nil?
# ok to process
else # regular uploaded file should detect the following extensions
%w(jpg jpeg gif png)
end
end

最佳答案

如果您只需要处理这样的 url,您可以向服务器发送 HEAD 请求以获取图像的内容类型。从中您可以获得扩展名

require 'net/http'
require 'mime/types'

def get_extension(url)
uri = URI.parse(url)
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true if uri.scheme == 'https'
request = Net::HTTP::Head.new(uri.request_uri)
response = http.request(request)
content_type = response['Content-Type']
MIME::Types[content_type].first.extensions.first
end

关于ruby-on-rails - 载波图像扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15884497/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com