私はAzureブロブストレージにファイルをアップロードしようとした場合、ファイルの長さが0に等しいクラスMemoryStreamを使用するとAzure UploadFromStreamが動作しないのはなぜですか(動作は同じですが長さは0になります)?
public class TextCorpusFile
{
public int Id {get; set;}
public string FileType {get; set;}
public MemoryStream File {get; set;}
}
を持っている(ファイルが作成されましたが、長さが0である)
public void SendTextCorpusFileData(TextCorpusFile textCorpusFile)
{
//get container by default
CloudBlobContainer textCorpusContainer =
ReturnTextCorpusFileContainer();
CloudBlockBlob blockBlob = textCorpusContainer.GetBlockBlobReference(textCorpusFile.Id + POINT + textCorpusFile.FileType);
blockBlob.UploadFromStream(textCorpusFile.File);
}
しかし、私はバイトでファイルを送信する場合、それがうまく機能してUploadFromStream(ストリームソースと私は確信しているので、長さは(それがこのように動作しますなぜ私は理解できない0
public void SendTextCorpusFileData(TextCorpusFile textCorpusFile)
{
//get by default
CloudBlobContainer textCorpusContainer =
ReturnTextCorpusFileContainer();
CloudBlockBlob blockBlob = textCorpusContainer.GetBlockBlobReference(textCorpusFile.Id + POINT + textCorpusFile.FileType);
blockBlob.UploadFromByteArray(textCorpusFile.File.ToArray(),
0,
(int)textCorpusFile.File.Length);
}
ではありませんそのMemoryStream:Stream)
説明できますか?