2011-07-23 145 views

回答

2

使用图像数据类型添加代码,请参见本示例:http://erikej.blogspot.com/2009/11/how-to-save-and-retrieve-images-using.html

+0

尝试该方法后会回到这里。 – MilkBottle

+0

想知道是否有任何数据限制:1)在sqlCe数据库中的Varbinary,二进制2)图像。例如:varbinary 8000kb的限制。那么图像数据类型呢?将图片转换为byte []或图片dataType的流?谢谢 – MilkBottle

+0

二进制和varbinary最大尺寸是8000字节,对于图像2 GB – ErikEJ

2

我建议的方法:

1 - 如果您的图片不会是非常大的,那么你就可以图像数据的Base64编码字符串存储在数据库中的字符串字段。

var base64String = Convert.ToBase64String(imageData); // and store this to database 
var imageData = Convert.FromBase64String(imageDataString); // read image data from database 

2 - 否则,你可以指定你的形象(或数据库记录)一个唯一的GUID和您的图像存储在IsolatedStorageFile。

using (var isf = IsolatedStorageFile.GetUserStoreForApplication()) 
{ 
    using (var writer = new BinaryWriter(new IsolatedStorageFileStream(filename, System.IO.FileMode.Create, isf))) 
    { 
     writer.Write(imageData); 
    } 
} 

将在一分钟内

+0

谢谢您的建议。我会尝试选项(1)。但是,当我使用Base64数据的图像控件时,base64将不支持IE浏览器。所以,我在SqlCe中寻找Varbinary来存储图像。这将如何完成? – MilkBottle

+0

你没有提到你想在浏览器控制中使用它。为了在Silverlight Image控件上显示它,应该可以工作。我个人选择选项(2)它更可靠。 –

+0

Option2应该在ISO上工作。 HOwever,我需要在SqlCe数据库中存储图像。好主意将图像作为base64存储在SqlCeDb中。不过,我喜欢将它作为流存储。感谢 – MilkBottle

相关问题