使用msgreader附件的Javascript提取并上传到Azure blob存储

时间:2019-11-13 09:35:41

标签: javascript azure azure-storage-blobs msg

我一直在使用MSG Reader导入电子邮件并将附件提取到具有Javascript的系统中。

我想将提取的附件上传到蔚蓝的存储Blob中。

它已上传,但文件不断损坏。

这是我到目前为止所拥有的:

 fileReader.onload = function (evt) {
    var buffer = evt.target.result;
    var msgReader = new MSGReader(buffer);
    var fileData = msgReader.getFileData();
    if (!fileData.error) {
        jQuery.map(fileData.attachments, function (attachment, i) {
            var file = msgReader.getAttachment(i);
            extension = (/[.]/.exec(attachment.fileName)) ? /[^.]+$/.exec(attachment.fileName) : '';
            var blobOptions;
            switch(extension[0]) {
                case 'pdf':
                    blobOptions = {blobHTTPHeaders: { blobContentType: 'application/pdf'}};
                    blobtype = 'application/pdf';
                    break;
                default:
                    blobOptions = {blobHTTPHeaders: { blobContentType: 'application/octet-stream' }};
                    blobtype = 'application/octet-stream';
            }
            const blockBlobURL = azblob.BlockBlobURL.fromContainerURL(containerURL, attachment.fileName);
            azblob.uploadBrowserDataToBlockBlob(azblob.Aborter.none, new File([JSON.stringify(file.content)], attachment.fileName, {type:blobtype}), blockBlobURL, blobOptions);
            return;
        });
    }
};

1 个答案:

答案 0 :(得分:0)

排序。我认为我使用的是错误的Blob格式或其他内容。