[Seasar-user:20004] Re: [mobylet] 画像リサイズ時の事象報告と要望

Shin Takeuchi [E-MAIL ADDRESS DELETED]
2010年 7月 27日 (火) 13:07:55 JST


decoyさん

竹内(stakeuchi)です。
#放置プレイじゃなかったのですが
#返信遅くなってすいません。。。

下記、以下のチケットで対応させて頂きましたが
1.0.6としてリリース致しますので
少々お待ちください。
(手が空けば今日にもリリース出来る状態です)

https://www.seasar.org/issues/browse/MOBYLET-113


一応代替画像を出力する機能も付けておきました。


よろしくお願い致します。


2010年7月19日21:40  <[E-MAIL ADDRESS DELETED]>:
> お世話になります。
> decoyです。
>
> mobyletの画像リサイズ機能ですが、
> 存在しない画像へのパスが指定されていると
> 下記のようなエラー(500エラー)が発生します。
>
> ・相対パスで存在しない画像を指定した場合
> java.lang.IllegalArgumentException: input == null!
> javax.imageio.ImageIO.read(ImageIO.java:1322)
> org.mobylet.core.image.impl.MobyletImageScaler.scale(MobyletImageScaler.java:53)
> org.mobylet.core.http.image.MobyletImageScaleServlet.doGet(MobyletImageScaleServlet.java:124)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
> org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176)
> org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145)
> org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92)
> org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:381)
> org.seasar.struts.filter.RoutingFilter.doFilter(RoutingFilter.java:159)
> org.seasar.framework.container.filter.S2ContainerFilter.doFilter(S2ContainerFilter.java:79)
> org.seasar.framework.container.hotdeploy.HotdeployFilter.doHotdeployFilter(HotdeployFilter.java:99)
> org.seasar.framework.container.hotdeploy.HotdeployFilter.doFilter(HotdeployFilter.java:67)
> org.seasar.extension.filter.EncodingFilter.doFilter(EncodingFilter.java:69)
> org.mobylet.core.http.MobyletFilter.processFilter(MobyletFilter.java:121)
> org.mobylet.core.http.MobyletFilter.doFilter(MobyletFilter.java:74)
>
>
> ・絶対パスで存在しない画像を指定した場合
> org.mobylet.core.MobyletRuntimeException: ストリームをオープンできません path = http://hogehoge.jp/hoge.gif
> org.mobylet.core.image.impl.MobyletImageReader.getStream(MobyletImageReader.java:114)
> org.mobylet.core.http.image.MobyletImageScaleServlet.doGet(MobyletImageScaleServlet.java:92)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
> org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176)
> org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145)
> org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92)
> org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:381)
> org.seasar.struts.filter.RoutingFilter.doFilter(RoutingFilter.java:159)
> org.seasar.framework.container.filter.S2ContainerFilter.doFilter(S2ContainerFilter.java:79)
> org.seasar.framework.container.hotdeploy.HotdeployFilter.doHotdeployFilter(HotdeployFilter.java:99)
> org.seasar.framework.container.hotdeploy.HotdeployFilter.doFilter(HotdeployFilter.java:67)
> org.seasar.extension.filter.EncodingFilter.doFilter(EncodingFilter.java:69)
> org.mobylet.core.http.MobyletFilter.processFilter(MobyletFilter.java:121)
> org.mobylet.core.http.MobyletFilter.doFilter(MobyletFilter.java:74)
>
>
> 存在しない画像へのパスが指定されている場合は
> 404エラーとするのが正しい動きのように思いますが如何でしょうか。
> 使用しているバージョンは下記のとおり、いずれも1.0.5です。
>
> mobylet-charset-1.0.5.jar
> mobylet-core-1.0.5.jar
> mobylet-taglibs-1.0.5.jar
> mobylet-mail-1.0.5.jar
> mobylet-s2extension-1.0.5.jar
> mobylet-gaeextension-1.0.5.jar
>
>
> ここから要望です。
>
> 動的にパスを生成している場合等で、存在しない画像へのパスが指定されている場合は
> 下記のような挙動として頂く事は可能でしょうか。
>
> ・mobylet.image.propertiesに存在しない画像へのパスが
> imageScalerへ指定されていた場合に読み込む画像を
> 下記のような感じで予め定義しておき、
> 下記で定義した画像も存在しない場合は404エラーとする
>
>
> # 画像が存在しなかった場合に読み込む画像の定義を行なう
> # 絶対パス、相対パスで指定可能且つ${docBase}や${contextPath}といった予約変数も使用可能とする
> # image.source.no.existsというのは仮の項目名です
> # もっと相応しい名前があれば変更して下さい
> image.source.no.exists=non.jpg
>
>
> 以上、御検討の程、宜しくお願い致します。
>
> // decoy
>
>
> PS: 竹内(stakeuchi)様へ
>
> 先程、twitterでフォローさせて頂きましたので
> 宜しければフォローして頂けますと幸いです。
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>



-- 
―Lei Hau'oli Co.,Ltd.―――――――――――

 竹内 真(TAKEUCHI SHIN)
 Tel: 080-3300-9888
 Mail: [E-MAIL ADDRESS DELETED]

 株式会社Lei Hau'oli
 〒135-0064 東京都江東区青海2丁目7-4 THE SOHO 934
 Tel: 03-6457-1041 Fax:03-6457-1042


Seasar-user メーリングリストの案内