gpt4 book ai didi

c# - 如何在不使用临时文件的情况下将 .NET 对象序列化到 Azure Blob 存储中?

转载 作者:太空狗 更新时间:2023-10-29 20:21:16 25 4
gpt4 key购买 nike

我想将 .NET 对象存储到 Azure Blob 存储中。

目前,我使用 TextWriter 将其序列化为 XML 文件(episodeList 是我想要序列化的对象):

XmlAttributeOverrides overrides = new XmlAttributeOverrides();
XmlAttributes Xmlattr = new XmlAttributes();
Xmlattr.XmlRoot = new XmlRootAttribute("EPISODES");
overrides.Add(typeof(List<EpisodeData>), Xmlattr);
XmlSerializer serializer = new XmlSerializer(typeof(List<EpisodeData>), overrides);
TextWriter textWriter = new StreamWriter(@"C:\movie.xml");
serializer.Serialize(textWriter, episodeList);
textWriter.Close();

然后将文件上传到 Blob 存储:

CloudBlobClient blobStorage = createOrGetReferenceOfBlobStorage(folderName);
string uniqueBlobName = string.Format("{0}/{1}", folderName, fileName);
CloudBlockBlob blob = clouBblockBlobPropertySetting(blobStorage, uniqueBlobName, ".txt");
using (StreamWriter writer = new StreamWriter(blob.OpenWrite()))
{
writer.Write(content);
}

是否可以以某种方式跳过临时文件,以便将 XML 直接上传到 Azure Blob 存储?

最佳答案

您可以执行以下操作。创建一个 MemoryStream 实例并使用 XmlSerializer.Serialize(Stream stream) 将对象序列化到内存流中,然后使用 Seek( )。然后,您调用 CloudBlob.UploadFromStream() 将流内容上传到 Blob。

关于c# - 如何在不使用临时文件的情况下将 .NET 对象序列化到 Azure Blob 存储中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11033739/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com