javascript - Javascript 使用 msgreader 的附件提取并上传到 Azure blob 存储
问题描述
我一直在使用 MSG Reader 将电子邮件和附件提取到带有 Javascript 的系统中。
我想将提取的附件上传到 azure 存储 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;
});
}
};
解决方案
排序。我认为我只是使用了错误的 blob 格式或其他东西。
推荐阅读
- python - 在相同的布局中使用 serialize() 打印 rdflib.Graph
- oracle11g - 无法删除表 Oracle
- assembly - MPLABX 5.40 MPASM 汇编 PIC
- linux - 在 Docker 中不断重启容器
- google-sheets - 如何每 x 行重复一个表 - 谷歌表
- ios - 带有 Woocommerce 的 FlexSlider:防止水平滑块上的垂直滑动触摸
- node.js - SyntaxError:在 Docker 容器上部署 React 应用程序时出现意外标识符
- php - 传递给方法后的PHP Laravel数组空值
- spring - 如何使用 Spring Boot 通过 OAuth2 协议登录用户?
- python - 最后除以组的第一行