フォーラムを検索しましたが、有効な解決策が見つかりませんでした。問題は次のとおりです。
Apache ルート フォルダに、正確に「encoding hello#.zip」という名前のファイルがあります。
次のコードを使用して、C# webclient.downloadfile からダウンロードしています。
WebClient check = new WebClient(); // check.Encoding = System.Text.Encoding.UTF8; string filename = "encoding hello#.ppt"; filename = HttpUtility.UrlEncode(filename); check.DownloadFile("http://server/"+filename, "test");
Apache は、ログ ファイルに以下を示します。
"GET /encoding+hello%23.ppt HTTP/1.1" 404 282 "-" "-"
ファイルが見つからないことを意味します。もちろん、404 not found 例外がスローされます。URLEncode を使用しない場合、リクエストに # 記号が含まれないだけです。
GET /encoding%20hello HTTP/1.1" 404 276 "-" "-"
このファイルをダウンロードするにはどうすればよいですか? :/