2011-01-06 15 views
0

のために、私は等のイメージタグのソース属性としてテキストエリアの内容を渡す必要があると改行を含むすべての入力をキャプチャエンコードのTextArea GETリクエスト

これを行うための唯一の方法は、ベースにあるように見えます64でエンコードし、結果をurlEncodeします。 (私はすべてのサーバー側でそれを暗号化解除できます)

  1. これは間違いありませんか?
  2. javascriptのための好ましいベース64ライブラリはありますか?クロスブラウザーでなければなりません。

答えて

3

これを実行する唯一の方法は、64エンコードしてから結果をurlEncodeすることです。 (私はすべてのサーバー側でそれをエンコードすることができます)

テキストエリアには含まれないバイナリデータをbase64エンコードする必要があります。

そのまま使用するencodeURIComponent

+0

これは正常です。私のハングアップは、ルーティングエンジンの特殊文字を処理できないASP.NET MVCコントローラに渡されているURLを形成していることでした。解決策は、ルーティングコンポーネントではなくクエリ文字列パラメータとしてエンコードされた値を追加することです:url .../id /?t = url ../ id/encodedtext / – andleer

0

URLENCODEは(あなたにも%0D%0A)例えば(と改行を表現できるようにbase64の必要がない)十分なはずですが、あなたが構築しているものは何でも、クロスサイトスクリプティングの悪用に非常に脆弱に聞こえます。