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/