0

私は、クライアントがサーバー上のフォルダから文書をアップロード/ダウンロードするための機能を含むASP.NET MVC Webアプリケーションを持っています。アンパサンド(&)文字を含むファイルパス

アンパサンド文字を含むファイル名をアップロードしている人に問題があります(おそらく他の文字もこれまでに発見したものです)。明らかに動作しません

window.location.href = 'MyController/DownloadDocument?filename=Dog & Cat.pdf'; 

:結果は、私はJavaScriptを取得していますされ

のようなものを探してリダイレクトします。

このような場合の最も簡単な回避策は何ですか?クエリ文字列でアンパサンドをエスケープする方法はありますか?

答えて

4

使用encodeUriComponent(ものURIで許可されていないスペースの問題を修正します)

+0

[OK]を、私は今、私のMVCでの犬& Cat.pdf ** **としてファイル名を取得していますコントローラ。 ASP.NET側でエンコードされていない側に相当するものはありますか? – fearofawhackplanet

+0

これはJavaScriptで見られるべきではないHTMLエンコーディングです。ブラウザにHTMLコーディングライブラリを提供する前に、HTMLエンコーディングライブラリを使用してJSを実行しているようです。それを解読することは解決策ではなく、最初にそのようにコード化されるべきではないので、それをやめてください。 – Quentin

+0

どこでも手動でエンコードしているわけではないので、その修正方法がわかりません。 – fearofawhackplanet

関連する問題