【发布时间】:2020-03-09 01:40:12
【问题描述】:
我一直在使用 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;
});
}
};
【问题讨论】:
-
那么你得到了什么例外?
-
无。一切都转移了。这些文件的大小完全相同,一切看起来都一样。当我想打开上传的文件时,它告诉我文件已损坏
标签: javascript azure azure-blob-storage msg