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ブロブストレージにアップロードします:
byte[] byteObject = ObjectToByteArray(uploadObject);
using (Stream stream = new MemoryStream(byteObject))
{
stream.Seek(0, SeekOrigin.Begin);
blockBlob.UploadFromStream(stream, null, options);
}
これは素晴らしい作品が、私はへの道を見つけることができませんこのオブジェクト/ファイルを自分のストレージからダウンロード、解凍、逆シリアル化します。
awnserさんありがとうございました!しかし、それでも私にはエラーが出る。パスフォーマットはサポートされていない。このパスを使用すると: "https //:MYSTORAGEACC.blob.core.windows.net/MYCONTAINER/MYFILE"。私は間違って何をしていますか? – Daan
ファイルをAzure Blobストレージからローカルにダウンロードしてから、メソッドDecompressAndDeserializeへのパスとしてblob urlを渡すのではなく、ローカルからダウンロードしたファイルを解凍してデシリアライズします。 –