user3887722
user3887722

Reputation:

Saving big pictures in local database

I can save image of a contact from address book in local database. But I can do it, when I make photo in camera in Windows Phone emulator in Visual Studio. When I add photo to a contact from different albums my app isn't start. This is my method of adding pictures in database. But it works for small size pictures. How I can do it for all size pictures?

foreach (var result in e.Results)
{
    using (ContactsListDataContext db = new ContactsListDataContext(DBConnectionstring))
    {
        var stream = result.GetPicture();

        if (stream != null)
        {
            BitmapImage _newPhoto = new BitmapImage();
            _newPhoto.SetSource(stream);

            MemoryStream _memoryStream = new MemoryStream();
            WriteableBitmap _writingNewPhoto = new WriteableBitmap(_newPhoto);
            _writingNewPhoto.SaveJpeg(_memoryStream, _writingNewPhoto.PixelWidth, _writingNewPhoto.PixelHeight, 0, 95);

            byte[] _arrayForDB = _memoryStream.ToArray();
            _memoryStream.Close();

            var _newEmail = result.EmailAddresses.FirstOrDefault().EmailAddress;
            var _newName = result.DisplayName;
            db._contacts.InsertOnSubmit(new MyContactsList { Name = _newName, Email = _newEmail, ItemImage = _arrayForDB });

            _listContactData.Add(new ContactsModel()
                        {
                            ContactName = result.DisplayName,
                            ContactEmail = result.EmailAddresses.FirstOrDefault().EmailAddress,
                            ContactImage = ByteArraytoBitmap(_arrayForDB)
                        });
            db.SubmitChanges();
        }
    }
}

Upvotes: 0

Views: 185

Answers (1)

Suji
Suji

Reputation: 1326

You can insert pictures directly to the database as BLOB , which allows 65535 bytes maximum. If you need more consider using a MEDIUMBLOB for 16777215 bytes or a LONGBLOB for 4294967295 bytes. See Storage Requirements for String Types for more information

Upvotes: 1

Related Questions