javascript - 有没有办法将在浏览器中创建为 blob 的文件附加到电子邮件中

标签 javascript html browser cross-browser

我知道您可以通过在 URL 中嵌入本地文件的直接路径来将本地文件附加到电子邮件中。有没有办法对在浏览器中创建为 blob 的文件执行类似的操作?这是作为我正在运行的一些 JavaScript 代码的一部分创建的。

谢谢!

最佳答案

我假设您使用 XMLHttpRequest 来提交数据。您可以创建 FormData,而不是简单地发布电子邮件正文。您可以将其POST到服务器。

假设您要上传一个名为 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)发送数据

xhr.send(data);

现在,您可以像往常一样在服务器端代码中使用(例如在 php 中)$_POST 访问这些内容。

Web 浏览器支持是 IE10+ .

关于javascript - 有没有办法将在浏览器中创建为 blob 的文件附加到电子邮件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19334891/

相关文章:

javascript - Flash CC HTML5 应该很简单 gotoAndPlay

browser - 如何撤消 301 重定向?

c# - 等待 WebBrowser ajax 内容

javascript - 是否可以从本地主机加载一个特定文件?

javascript - 根据条件设置节点的颜色

html - 文本未正确对齐

javascript - AngularJS 应用程序无法正常运行

jquery - 我可以在 CSS 中从一个类继承到另一个类吗

javascript - 下载二进制格式的字节数组

javascript - Javascript 中的字符串和字符数组有什么区别?