- - PR -
ASP.NETにて画像ファイル取得時にファイル名にスペースがあると取得できない
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-07-26 17:36
件名について、困っています。何かよい案がありましたら教えてください。
以下に詳細を示します。 ASP.NETでつくったWebアプリで、クライアントに画面表示時に、イメージファイルを表示したいのですが、このファイル名にスペースがあると取得できません。取得できない理由は、IEにてスペースを%20に変換してイメージをGetしにいくため、取得できていないようです。 ファイル名は任意であり、いろいろな文字が入力可能となっています。 ファイル名入力時にチェックすることも可能ですが、スペース以外にも多くの不可文字があるようで、どういった対処が適切か悩んでいます。 よい解決策がありましたら教えてください。 | ||||||||
|
投稿日時: 2005-07-26 17:41
URI エンコードしてもダメでしょうか?
_________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2005-07-26 17:56
'これでどうでしょうか?
Dim strURL As String = Server.URLEncode("若乃花 優勝.jpg") _________________ ASP/ASP.NETだいすき。 ASP++ by Moo http://moo-asp.net/ 日記は ほぼ毎日更新中 http://d.hatena.ne.jp/aspx/ | ||||||||
|
投稿日時: 2005-07-26 18:46
お疲れ様です。
詳細なご指摘ありがとうございます。 Server.UrlEncordにて、 うまくいった点もありますが、以下のように数点うまくいかない点があります。 ・「コピー 〜 無題.bmp」で試したところ、うまくいかない(GETで404エラー) ・上記画像はイメージボタンのイメージなのですが、そのイメージボタンをクリックすると、該当画像をGetして、別ウインドウに表示するという仕様ですが、ウインドウがあがらない。(JSエラーになっている) 上記について、何か気になる点などありましたら、ご指摘お願いいたします。 | ||||||||
|
投稿日時: 2005-07-26 19:17
ん〜・・もしかして'〜'があると駄目と言う話ですか?
だとしたらUnicodeのコード変換テーブル関連の話かも。Microsoftの変換テーブルの実装が各社まちまちなのが原因です。どうやって解決するかは何処でUnicode変換がかかっているのかはっきりしないと難しいかと。 [ メッセージ編集済み 編集者: 甕星 編集日時 2005-07-26 19:20 ] | ||||||||
|
投稿日時: 2005-07-27 12:02
いろいろとご指導ありがとうございます。
〜もあやしいのですが、そもそもスペースのみでもうまくいきませんでした。 IISのログを見ると、スペースは+になりGETで404エラーになっています。 また、「** 〜 **」の場合、IISログでは完全に文字化けしています。 ひとまず、スペースのみの問題についてさぐってみます。 何か関連する情報ありましたら、申し訳ありませんがmご指導願います。 ※特に、〜を使うと、UNICODE関連の問題でうまくいかないというのが?です。漢字やカナはうまくGETできています。 | ||||||||
|
投稿日時: 2005-07-27 12:54
kkkさん、こんにちは。
私の場合、自力でエンコードして回避しました。 【追記】 サンプル書く前に送信してしまった…。 #VBです。
[ メッセージ編集済み 編集者: きくちゃん 編集日時 2005-07-27 12:59 ] | ||||||||
|
投稿日時: 2005-07-27 19:45
きくちゃんさん。
わざわざ、サンプルコードありがとうございました。 そのまま使わせていただき、うまくいきました。 本当にありがとうございました。 .NETのメソッドでこのようなケースが考慮されていないのも、いただけないですね。 あと、「〜」があるとうまくいかない件については、DBの文字コードの設定がまずかったためでした。 以上、みなさんありがとうございました。 |