3

ディスクに保存する HTML ファイルを作成する必要があります。後で、ユーザーはこのファイルを電子メールに添付して送信し、ユーザーはファイルをクリックしてブラウザに表示します。私の顧客は、ブラウザでドキュメントを開いたときに読み込まれる URL へのリンクとしてではなく、画像ファイルを保存した html ファイルに直接埋め込むことを要求しています。

次のようなbase64コードを見ました(そして試しました):

<IMG SRC="data:image/gif;base64,

しかし、私の画像は 150K 以上で​​、少なくとも IE8 では大きすぎて適切に表示できません。

大きな画像を HTML ドキュメントに埋め込んで (リンクせずに)取得する別の方法はありますか? ブラウザーと対話するプログラムを実行しないことを忘れないでください。

4

2 に答える 2

2

IE 8 には 32k のデータ URI 制限があります ( http://en.wikipedia.org/wiki/Data_URI_scheme )。これが、そこで失敗する理由です。また、8 未満のバージョンの IE はこれをサポートしません。

私が知っていることは、これを回避する方法はありません。ただし、画像を分割して別の部分をエンコードすることはできます。このコンテンツは決して動的ではないように思われるので、それほど難しいことではないかもしれません。それ以外の場合は、CSS ハックを使用して IE8 以下に別のスタイルを提供するか、それらのブラウザーのサーバーから画像を読み込もうとするだけかもしれません。

于 2012-06-13T21:41:36.883 に答える
1

Thanks to all, but Albert's post gave me the answer, a bit indirectly, though. I originally created my html document as an email and imbedded the image directly in the email, mixing htm & mime. All I needed to do was change the extension on my document from .htm to .mht.

The pertinent part of my document code is:

<img border=3 width="360" height="360" src="cid:001@mime.mail"></table></div></body></html>
--_=_Boundary_001_VXUXGWO1.FBLEINFI
Content-Type: application/octet-stream; name="1.jpg"
Content-Disposition: attachment; filename="1.jpg"
Content-ID: <001@mime.mail>
Content-Transfer-Encoding: base64
Content-Description: 1.jpg

/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAA...

Notice the src="cid:001@mime.mail" corresponds to the Content-ID tag just above where the actual image data starts.

于 2012-06-14T13:57:45.063 に答える