[前][次][番号順一覧][スレッド一覧]

rails:2458

From: Makoto Kobori <kbr2000@y...>
Date: Fri, 23 Nov 2007 00:59:30 +0900 (JST)
Subject: [rails:2458] バイナリの画像データを HTML 上に表示する方法

はじめまして。このたびMLに参加させていただきました
小堀と申します。

過去ログにもありますが、バイナリの画像データをHTML上
に表示させる方法で質問です。

具体的には
�.▲奪廛蹇璽媛萍未妊罅璽兇�jpegをuploadする。
��確認画面でアップロードされた画像を確認
��DB登録

という流れを作りたいのです。

実装は
�� <%= file_field "file", "picture" %>
でビューを作ってアクションを呼び出します。

��呼び出したアクションは以下。sessionで画像のデータを
 引き渡します。
------------------------------------------
	@pic=params[:file]['picture']
	session[:pic1_name]=@pic.original_filename
	session[:pic1_ct] = @pic.content_type
	session[:pic1_data] = @pic.read
------------------------------------------

このアクションに対応するビューが以下
------------------------------------------
<h1>Upload#view</h1>

title:<%= @title %><br>

<%=image_tag(url_for(:action=> 'draw',:extension=>'.jpg'))
%>

------------------------------------------

url_forで呼び出しているアクションdrawが以下です。

------------------------------------------
  send_data session[:pic1_data], 
            :filename => session[:pic1_name],
            :type => session[:pic1_ct],
            :disposition => 'inline'
------------------------------------------

ここで質問は、画像が表示されるものの、sessionで
値を引き渡すのが、強引な気がしてならないのです。
もう少しスマートなやり方はないものでしょうか。

sessionで、@picまるごと指定したら、
「We're sorry, but something went wrong.」
と出てしまいました。構造体はsessionで渡せない?
実態はcookieだから渡せないということでしょうか。

何かよいアドバイスがございましたら、ご指導お願いします。


--
ML: rails@r...
使い方: http://QuickML.com/

[前][次][番号順一覧][スレッド一覧]