0

URLに直接パスを埋め込むことで、ローカルファイルを電子メールに添付できることを知っています。ブラウザでブロブとして作成されたファイルで同様のことを行う方法はありますか? これは、私が実行している JavaScript コードの一部として作成されます。

ありがとう!

4

1 に答える 1

3

XMLHttpRequestを使用してデータを送信していると仮定しています。メール本文を単純に POSTするのではなく、代わりにサーバーにPOSTするFormDataを作成できます。

という名前のアップロードしたいファイルとmyBlob、その他の電子メール関連の文字列があるとします。

var data = new FormData();
//           name       , value     [,  filename       ]
data.append('attachment', myBlob     , 'myFileName.txt');
data.append('to'        , emailText                    );
data.append('subject'   , subjectText                  );
data.append('body'      , bodyText                     );

次に、 XMLHttpRequestの最後のステップ( と呼ばれるxhr) で、送信します。data

xhr.send(data);

$_POSTこれで、通常どおり(たとえば php で) サーバー側のコードでこれらにアクセスします。

Web ブラウザのサポートはIE10+です。

于 2013-10-12T14:24:44.590 に答える