【问题标题】:Client-side JavaScript CSV file generation and email attachment客户端 JavaScript CSV 文件生成和电子邮件附件
【发布时间】:2013-09-11 12:13:09
【问题描述】:
我需要用 Javascript/HTML5 开发一个可以在移动设备 (iOS/Android) 上运行的应用程序。此应用程序必须仅在客户端运行(无服务器交互)。它必须接受表单信息并在本地生成 CSV 文件。生成后,它应该打开本地邮件客户端并将 CSV 文件附加到邮件中。
这可能吗?我找到了有关如何生成 CSV 文件的信息,但它们都以调用动态创建的a 链接的click 函数结束——这会将 CSV 文件下载到用户的手机。如果此步骤可以自动化以直接转到附有 CSV 文件的新电子邮件,那将是最佳解决方案。
【问题讨论】:
标签:
javascript
android
ios
csv
email-attachments
【解决方案1】:
我编写了一个轻量级的客户端 CSV 生成器库,它可能会派上用场。查看https://github.com/lbrtw/csv
在适当的位置,您只需使用getFileContents 方法和window.open 或location.href = ... 即时生成并通过电子邮件发送 CSV 文件,如下所示:
var propertyOrder = ["name", "age", "height"];
var csv = new Csv(propertyOrder);
csv.add({ name : "Anders",
age : 38,
height : "178cm" });
csv.add({ name : "John Doe",
age : 50,
height : "184cm" });
var fileContents = csv.getFileContents();
var link = "mailto:" + emailAddress + "?subject=CSV&body=" + fileContents;
// This action should open the default email app:
window.location.href = link;
// , and if that doesn't work, try this instead:
window.open(link);