2011-06-02 7 views

cevap

26

Bir MemoryStream içine bir dosya yüklemek gerekmez.

Sadece dosya içeren bir FileStream almak için File.OpenRead çağırabilir. Eğer gerçekten dosyası bir MemoryStream olmak istiyorsanız

, bir MemoryStream için FileStream kopyalamak için CopyTo çağırabilir.

+0

i dosya filestream ise itis ekleme mı? – Ram

+0

@Ram: Evet, yapabilirsin. Sadece "OpenRead" yerine "Open" 'ı çağırın. Daha sonra aynı akışı yazıp okuyabilirsiniz. – SLaks

+0

CopyTo yöntemi, .NET 4'ten itibaren var. Bu yanıt http://stackoverflow.com/a/5730893/1589759 bakın –

58
Dim stream As New MemoryStream(File.ReadAllBytes(filename)) 
+2

oldukça noktaya :) –

+0

i dosyanın içeriğine başlıklar ekleyebilir bellek akışı içine bir dosya yükledikten sonra? xls dosyasındaki başlıklar gibi. – Ram

-1

Öyle gibi bir dosya akışı kopyalayabilirsiniz:

string fullPath = Path.Combine(filePath, fileName); 
FileStream fileStream = new FileStream(fullPath, FileMode.Open); 
Image image = Image.FromStream(fileStream); 
MemoryStream memoryStream = new MemoryStream(); 
image.Save(memoryStream, ImageFormat.Jpeg); 
//Close File Stream 
fileStream.Close(); 
+0

bu şekilde yapmak sonra görüntü sıkıştırıp jpeg olarak yeniden sıkıştırın olacak. Sadece bayt dizisini bellek akışına kopyalamak için file stream copy yöntemini kullanın. – hcham1

İlgili konular