require 'rest_client' require 'image_size' module Imgur def self.upload_file(file) blob = file.read response = RestClient.post(SiteSetting.imgur_endpoint, key: SiteSetting.imgur_api_key, image: Base64.encode64(blob)) json = JSON.parse(response.body)['upload'] rescue nil return nil if json.blank? # Resize the image json['image']['width'], json['image']['height'] = ImageSizer.resize(json['image']['width'], json['image']['height']) {url: json['links']['original'], filesize: json['image']['size'], width: json['image']['width'], height: json['image']['height']} end end