Asp.net 将PDF从Cloudinary转换为邮件附件将MemoryStream转换为流

Asp.net 将PDF从Cloudinary转换为邮件附件将MemoryStream转换为流,asp.net,cloudinary,Asp.net,Cloudinary,我正在尝试将存储在Cloudinary上的PDF转换为System.Net.Mail附件: private static Attachment CreateAttachementFromMessage(Stream stream) { var memoryStream = new MemoryStream(); stream.CopyTo(memoryStream); return new Attachm

我正在尝试将存储在
Cloudinary
上的PDF转换为
System.Net.Mail附件

 private static Attachment CreateAttachementFromMessage(Stream stream)
        {
            var memoryStream = new MemoryStream();
            stream.CopyTo(memoryStream);

            return new Attachment(
                memoryStream,
                "Anhang zur Bestellung",
                "application/pdf"
                );
        }
溪流:

var stream = getFileStream(resourceId);
private getFileStream(resourceId){

                var imageData=_cloudinary.GetResource(resourceId);

                if (imageData.StatusCode != HttpStatusCode.OK)
                {
                    return null;
                }

                var downloadUrl = _cloudinary.Api.UrlImgUp.Secure().BuildUrl(resourceId);

                if (string.IsNullOrEmpty(downloadUrl))
                {
                    return null;
                }

                return DownloadStream(new Uri(downloadUrl));}


}
流不为null,但邮件内容本身似乎无效。 文件大小小得多(系数4),无法打开

有什么想法吗?创建流、转换流或创建附件是否有问题

编辑: 将流复制到memorystream:

编辑2:实际附件内容:

如果有人关心:

通过base64进行转换,工作正常:

using (BinaryReader b = new BinaryReader(stream))
                    {
                        byte[] binData = b.ReadBytes((int) stream.Length);
                        String result = Convert.ToBase64String(binData);

                        var decodedFile = Convert.FromBase64String(result);

                        var mediaType = new System.Net.Mime.ContentType(System.Net.Mime.MediaTypeNames.Image.Jpeg).MediaType;

                        return new Attachment(
                            new MemoryStream(decodedFile),
                            $"Anhang zur Bestellung.{mediaType}",
                            mediaType
                        );

似乎有点不必要,但方法
stream.CopyTo()
对我不起作用

啊,我认为问题是stream.Position being不好,不是这样的。请考虑下一个屏幕截图显示实际附件