2013-03-26 83 views
3

我搜索得到的文件大小(以字節爲單位)在C#:獲取圖像的圖像文件的大小

我得到的圖像在一個base64字符串,但這種格式在我的印象一點也不可能獲得文件大小。

所以我互感器它在這樣一個圖像對象:

// Convert Base64 String to byte[] 
byte[] imageBytes = Convert.FromBase64String(imageSrc); 
MemoryStream ms = new MemoryStream(imageBytes, 0, imageBytes.Length); 

// Convert byte[] to Image 
ms.Write(imageBytes, 0, imageBytes.Length); 
Image imageObj = Image.FromStream(ms, true); 

,但我不能夠得到文件的大小。我可以有尺寸或類型,但不是文件大小。

你有想法嗎?

+0

你必須首先將它保存到一個'MemoryStream'中,並獲取流的長度。請記住,大小取決於您選擇保存圖像的格式。 – Mihai 2013-03-26 16:40:32

回答

8

你已經在你的字節圖像的大小,你可以這樣說:

imageBytes.Length

我的理解,你不希望將其轉換爲另一種格式,只需將它保存,所以你可以直接將你的字節保存到你的文件,最簡單的解決方案:

File.WriteAllBytes(string yourpath, byte[] yourbytes) 
+0

當我檢查imageBytes.Length時,得到結果232019,而我的圖像是581kb! – 2013-03-26 16:45:59

+2

+1。請注意,它是原始文件的大小。如果您將字節加載到Image中並保存,則由於不同的文件格式/壓縮,最有可能的大小會有所不同。 – 2013-03-26 16:46:25

+0

是的,這會給你你的原始圖像的大小,在它的原始格式,你想保存在另一種格式?如果沒有,只需將你得到的字節寫入文件,甚至不需要「Image」對象 – ppetrov 2013-03-26 16:47:37

相關問題