0
此代码将压缩和序列化对象:如何从Azure Blob存储中下载,解压缩和反序列化对象/文件?
public static byte[] ObjectToByteArray(object[] obj)
{
using (MemoryStream msCompressed = new MemoryStream())
using (GZipStream gZipStream = new GZipStream(msCompressed, CompressionMode.Compress))
using (MemoryStream msDecompressed = new MemoryStream())
{
new BinaryFormatter().Serialize(msDecompressed, obj);
byte[] byteArray = msDecompressed.ToArray();
gZipStream.Write(byteArray, 0, byteArray.Length);
gZipStream.Close();
return msCompressed.ToArray();
}
}
和下面将其上传到Azure的Blob存储:
byte[] byteObject = ObjectToByteArray(uploadObject);
using (Stream stream = new MemoryStream(byteObject))
{
stream.Seek(0, SeekOrigin.Begin);
blockBlob.UploadFromStream(stream, null, options);
}
这个伟大的工程,但我不能找到一种方法,从我的存储中下载,解压缩和反序列化这个对象/文件。
非常感谢您的帮助!但它仍然给我错误:不支持路径格式。当我使用这个路径:“https //:MYSTORAGEACC.blob.core.windows.net/MYCONTAINER/MYFILE”。我究竟做错了什么? – Daan
将文件从Azure Blob Storage下载到本地,然后从本地解压缩并反序列化下载的文件,而不是将方块DebressAndDeserialize传递到路径。 –