0

私のアプリケーションでは、ユーザーがボタンをクリックしてスクリーンショットを撮ると、コントロール内のメソッドが呼び出され、スクリーンショットを撮ってバイト( 64ビットでエンコードされた文字列activeX)に変換し、その64ビットにアクセスできます。 javascriptでエンコードされた文字列であり、これを使用して画像のプレビューをユーザーに表示します(タグのプロパティは文字列で設定されます)。srcimg

ここで、ユーザーがプレビューの[保存]ボタンをクリックしたときに、を使用して画像をサーバーに送信したいと思いますajax。ここで問題となるのは、ファイルのバイナリ文字列だけですが、画像をmultipartリクエストとして送信したい(を使用してアップロードされ<input type="file"/>たかのように。それを行う方法はありますか?唯一の条件は、画像がmultipartサーバーでマルチパートアップロードを処理する標準的な手法を使用して受信できるように、リクエストとして送信されます。

私もIE固有のソリューションで生きることができます:)

4

1 に答える 1

0

AJAX を介してマルチパート情報を送信することはできませんが、回避することはできます。ページにフォームを作成します。

<form name="img_form" target="img_iframe" action="..." method="..." enctype="multipart/form">
</form>

<iframe name="img_iframe" id="img_iframe"></iframe>

img_iframe に読み込まれる戻りデータでは、隠しフィールドまたは新しいファイルへのリンクを使用して、あらゆる種類の戻り値を設定できます。

次のように onLoad イベントを設定できます。

$('iframe#img_iframe').on('load', function(event) {
    var iframe_content = ($.browser.msie ? $(event.target.contentWindow.document) : $(event.target.contentDocument));

    /* Do Stuff */
});

これは、フォームで送信される正しいデータを設定する方法を知っていることを前提としています。

于 2012-10-10T13:56:33.970 に答える