21

Javascriptを使用してクライアント側でさまざまな画像をより簡単に操作することを目的として、サーバー側(VB 2010)で、ファイルをクライアントに送信するbase64文字列に変換する関数を作成しました。

Internet Explorer 8.0で3つの異なる画像(1つのポートレートと2つのランドスケープ)で試してみると、ポートレート画像のみが完全に表示され、両方のランドスケープ画像が切り捨てられていることがわかりました(画像の上部のみが表示されます)。

Firefoxでローカルページを試すまで、変換機能にバグがあると思っていました。すべての画像がFirefoxで完全に表示されます。

だから私の質問があります:これはInternetExplorerのよく知られたバグですか?答えが「はい」の場合、そのよく知られたバグに対するよく知られた救済策はありますか?

4

2 に答える 2

14

IE8は、最大32kbのサイズのBase64URIイメージのみを実行できます。これは少し厄介な制限ですが、アイコンなどでうまくいくことができます。Base64でエンコードされた画像は、とにかくパイプを介して送信されるデータが平均で33%多いことを覚えておいてください。つまり、それは...ええと、あなたの判断を使用してください。

興味のある人は、IE6 / 7でこれらを機能させることもできます(32kbの制限なしで...):http://venodesigns.net/2010/06/17/you-got-your- base64-in-my-css /

于 2012-04-15T06:11:06.303 に答える
4

IE8 は 32KB に制限されています。これを回避する 1 つの方法は、各タイルが 32KB 未満の「タイル」で画像を提供することです。

于 2012-10-30T22:59:36.490 に答える