0
これはIIS 6でうまくいきました。現在、IIS 7.5を使用しているため、問題を把握することはできません。特注のアプリを稼働させようとすると、それはファイルマネージャーです。ファイル名にスペースが含まれているファイルにアクセスしようとすると、IISはURLをfiles/This+is+a+filename.doc
としてエンコードし、ファイルを見つけることができません。 URLをfiles/This%20is%20a%20filename.doc
としてエンコードする必要があります。URL書き換え+%20
URLの書き換えを見てきましたが、私の周りに私の頭を浮かべることはできません。
アイデア?
なぜ正規表現はオプションですか? 'Request.QueryString [" filename "]。(" + "、"%20 ")'、いいえ?または[Server.URLEncode](http://msdn.microsoft.com/en-us/library/ms525738%28v.90%29.aspx) –
アプリケーションは、私が持っていないクラスoutputFile()を呼び出しますアクセスは、DLL内にあるので、私はそれが単純であるとは思わないでしょうか? – TTS
FYI: '+ to space '形式は[URI-encoding]ではなく[Query string-encoding](http://en.wikipedia.org/wiki/Query_string)です(http://en.wikipedia.org/wiki /パーセントエンコーディング)。 '+' *はURIでまだ有効で*エンコードされていませんが、 '+'(%2B)ではなく 'space'(%20)にマップされています。最適なURIエスケープ関数*を使用するようにジェネレータ/コードを修正するのが最善です。 (私はそれを[注文]はIISにURIを渡す代わりにクエリ文字列として扱い、内部的にフェッチを処理すると思われます - おそらくこれが変更されました) –