###画像ファイルを認証済みユーザーにのみ公開したい
Django1.85 Python3.3 Apache2.4.6 で
イントラ用の画像添付可能な掲示板を作成しています.
↓例(左に図,右に文章形式)
画像部分にリンクを張り,画像を実寸大で表示もさせたいので,html部分では
html5
1<!--画像表示html部分--> 2<a href="{% url 'db:upimage' con.image.id con.image.name %}" class="media-left"> 3 <IMG src="{% url 'db:upimage' con.image.id con.image.name %}" style="width:350px;"> 4</a>
静的ファイル公開のためのdb:upimageへのアクセス処理は
python
1def UpImage(request, image_id, image_name): 2 imgpath = ~~#画像ファイルへのパス 3 response = HttpResponse() 4 response['X-Sendfile'] = imgpath 5 return response
でmod_xsendfile(0.11.1)で処理しています.
###発生している問題
このやり方だと,HttpResponseでcontent_typeを指定していないので,
一部の画像ファイル(svgなど)が表示されません.(pngは表示されましたが・・・)
かといって,svg用のcontent_typeを指定した場合,それ以外の画像ファイルが表示されません.
mod_xsendfileを使用せず,ApacheのAliasによる静的ファイルの公開では,どんな種類の画像でも表示され,
画像をクリックしての原寸大表示も上手くいくのですが,
この方法では認証されていないユーザーでもURLさえ入れれば画像が公開されてしまいます.
なにかいい方法はないでしょうか?
回答1件
あなたの回答
tips
プレビュー