0

画像プレビューをIE8以降で動作させるにはどうすればよいですか?

JavaScript / jQueryを使用して、入力タイプ「ファイル」からバイナリイメージデータを取得できますか?

データを(正しい形式で)サーバーに戻すことができれば、そこで作業してからAJAXで返すことができるはずです(ただし、私はAJAXの専門家ではありません)。

私が行った調査によると、JavaScriptのみを使用してすべてのIEバージョンで画像プレビューを取得する方法はありません(これは、完全なファイルパスを取得することが潜在的なセキュリティリスクと見なされるためです)。ユーザーにサイトを信頼できるサイトに追加するように依頼することはできますが、通常、ユーザーにそのような低レベルの設定を改ざんするように依頼することはありません(サイトをユーザーに疑わしいと思わせる最も簡単な方法は言うまでもなく、彼らはあなたのサイトを信頼できるサイトのリストに直接追加します。それはメールを送ってパスワードを尋ねるようなものです。「私を信じてください!私はとても安全です!」:)

IE以外のすべてで画像プレビューが機能しており、条件付きコメントを使用して、IE固有の方法を他のブラウザーで実行している方法から分離することに問題はありません。言い換えれば、答えはクロスブラウザである必要はなく、クロスIE(8と9)だけです。IEサイトが(どういうわけか)以前に画像プレビューを使用しているのを見たことがあるので、これを行うには少なくとも1つの方法が必要であることを知っています...

4

1 に答える 1

0

したがって、10未満のIEをサポートする必要がある場合は、既存のAJAXアップロードコンポーネント(Uploadify、Plupload、Valums AJAX Upload、Bleuimpなど)を使用してファイルをサーバーにアップロードし、サムネイルを生成してサーバーに保存できます。保存した画像のURLをJSONを使用してクライアントに送信し、タグを使用して表示できるようにします。実際、IEはデータURIスキームをサポートしているため、プレビューを生成するためにアップロードされたファイルをサーバーに保存する必要はありません。クライアントに表示できるように、データURIスキームとしてフォーマットされたプレビューコントローラーアクションから結果のサムネイル画像を直接返すことができます。

この機能を実装する時間とリソースがない場合の別の解決策は、画像のリアルタイムプレビューを取得したい場合は、サイトがサポートしていないため、別のWebブラウザの使用を検討する必要があることをユーザーに伝えることです。このためのIE。

于 2012-11-09T16:16:55.260 に答える