2016-12-06 3 views
0

私は、Carrierwave経由でRackspaceサーバーにアップロードした画像(base64)のURLを取得するだけです。Carrierwaveのアップロードファイルからアップロードされた画像(base64)の完全なURLをRackspaceに取り込む方法はありますか?

これは現在私のコントローラです。

def update_with_image 
    user = current_user 
    uploader = PictureUploader.new 
    uploader.store!(user_update_params[:profile_image]) // base64 image like this 'data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2w...' 

    // How can i update user_update_params[:profile_image] with the successfully uploaded profile_image url? 

    if user.update_attributes(user_update_params) 
     # Handle a successful update. 
     render json: user, status: 200 ,serializer: UserSerializer 
    else 
     render json: { errors: user.errors }, status: 422 
    end 
    end 

したがって、uploader.store!(user_update_params[:profile_image])の後にそのファイルのURLを取得できますか?

ありがとうございます!

答えて

0

これは意味ですか?

uploader = AvatarUploader.new 
uploader.store!(my_file)        # size: 1024x768 

uploader.url # => '/url/to/my_file.png'    # size: 800x600 
uploader.thumb.url # => '/url/to/thumb_my_file.png' # size: 200x200 

アップロード者のメソッドurlを呼び出すと、URLを取得する必要があります。 github

更新:オプション設定でお使いのCDNのホスト名を含めることができ、搬送波のGitHub

から引用。すべての要求がこの情報の検索を必要とすることがないので、これは強く推奨されます。それだ霧

class AvatarUploader < CarrierWave::Uploader::Base 
    storage :fog 
end 

:あなたのアップローダーで

config.asset_host = "http://c000000.cdn.rackspacecloud.com" 

は、にストレージを設定しました! CarrierWave::Uploader#urlメソッドを使用して、URLをRackspace Cloud Filesのファイルに戻すことはできます。

+0

ありがとう!しかし、私は "http://myclound.rackspace .."を含む完全なURLを得ることができます – user3403614

+0

あなたはそれを得ることができるはずです。あなたがドキュメントを辿るのを怠っているような場合には、私はそれを私の答えにコピーしておきます:) –

+0

それでも動作しないので、base64 'data:image/jpeg; base64、/ 9j/4AAQ'を他のファイルタイプに変換しますか? – user3403614

関連する問題