如何在电子邮件中添加附件(不存储在文件磁盘中)

时间:2019-01-23 11:37:28

标签: javascript outlook

我想使用Javascript打开带有附件(zip)的Outlook。 如果文件在计算机客户端的某个目录中,则可以正常工作。

this.sendEmail = function (zip) {
    try {

        var theApp = new ActiveXObject("Outlook.Application");
        var objNS = theApp.GetNameSpace('MAPI');
        var theMailItem = theApp.CreateItem(0); // value 0 = MailItem
        theMailItem.to = ('test@gmail.com');
        theMailItem.Subject = ('test');
        theMailItem.Body = ('test');
        theMailItem.Attachments.Add(zip);
        theMailItem.display();
    }
    catch (err) {
        alert(err.message);
    }
};

但是我要做的是添加内存中已经存在的文件

    this.SenddZip = function (docDescription, fileName) {
    var zip = new JSZip();

    for (var i = 0; i < docDescription.length; i++) {
        var doc = docDescription[i];
        zip.file(doc.core_documenttitle + doc.core_fileextension, doc.fileBase64, { base64: true });
    }
    Utils.sendEmail(zip);
    // Generate the zip file asynchronously
    zip.generateAsync({ type: "blob" })
        .then(function (content) {
            // Force down of the Zip file
            var name = "documents";
            if (fileName) {
                name = fileName;
            }
           // location.href = "data:application/zip;base64," + content;
             saveAs(content, name + ".zip");
            Utils.sendEmail(xxxxxxxx);

        });

};

如果这不是解决方案: 他们是否可以在没有确认对话框的情况下下载文档? saveAs在存储文件之前总是要求确认。

谢谢

0 个答案:

没有答案