5

Я создаю приложение, в котором у меня будет база данных, которую пользователи не могут редактировать. Он просто имеет данные, и он показывает пользователю. Я обнаружил, что мне не нужно использовать localstorage. Я просто могу добавить базу данных в проект, и это только для чтения. Поэтому я сделал это, и все в порядке. Теперь я хочу добавить изображения в свое приложение, и я не уверен, что лучше. Я могу каждое изображение добавить в папку, путь к хранилищу базы данных к изображению, и это очень просто, и теперь это можно сделать. Или я обнаружил, что я могу хранить изображение в базе данных как изображение (byte []). Что лучше? Будут ли изображения в базе данных меньше? Будет ли загрузка изображений быстрее? Если изображения в базе данных - лучшее решение, могу ли я легко добавить изображения в существующую базу данных? Есть ли какая-нибудь статья, чтобы сделать это в winforms? СпасибоИзображения в базе данных или в папке проекта как ресурсы

Редактировать: Я рад, что в моем вопросе так много ответов и мнений. Я хочу объяснить больше своих потребностей. Мое приложение должно иметь около 150 снимков, а изображение должно быть размером 150 пикселей и 100 пикселей. Я хочу, чтобы приложение работало без подключения к Интернету. Он может подключаться к обновлениям, но это все. Еще раз спасибо за все мнения :)

+0

Не храните изображения на сервере, если вы НЕ ИМЕЛИ этого. Загрузка контента в Интернет происходит медленно по сравнению с сохранением непосредственно на вашем устройстве. – MyKuLLSKI

ответ

1

Существует множество «ifs», «buts» и «maybes» о том, куда вы положили свои изображения, и я не думаю, что есть правильный или неправильный способ.

Следует упомянуть, что если приложение является критичным для бизнеса при высокой доступности, я бы сохранил их в базе данных, просто потому, что он может быть скопирован с остальными данными. Базы данных могут быть зеркалированы и т. Д., Поэтому все изображения, обработанные как «данные», могут быть полезными. Также, если что-то становится большим, а веб-ферма используется и балансирует нагрузки и т. Д., Это помогает, когда изображения живут в одном месте.

Для меня я бы пошел с базой данных. Но все зависит от масштаба вашего приложения.

+0

Я рад за все ответы. После размышления и выбора базы данных я выбираю ваш ответ. Спасибо –

+0

Рад, что вы нашли это полезным. –

0

веб-папка. также подумайте о удаленной загрузке их с облачного сервера, такого как Amazon S3, чтобы освободить доступ к вашему собственному серверу.

1

Я лично сохранил бы все изображения в изолированном хранилище, а в базе данных я бы сохранил путь к изображению.

Я бы хранить все изображения в виде байт [] в IsolatedStorage

3

Для нашего приложения мы нашли гибридный подход работал лучше. Мы настроили среду SQL для поддержки FILESTREAM, а затем импортировали все наши изображения. Это дает нам гибкость в том, что изображения «в sql» сохраняются при сохранении фактических изображений на диске. Это быстрое решение, которое может хорошо работать и для вас.

0

лучший вариант для хранения изображений на веб-папку, если вы сохраните их в БД, вы будете тратить время не retreiving их из БД, потому что это занимает больше времени

+2

Я не согласен. Переход в Интернет НЕ быстрый – MyKuLLSKI

1

Ничего плохого с ответами уже здесь, но это на самом деле зависит от того, что вы пытаетесь выполнить и как оно настроено в настоящее время.

Лучше всего было бы использовать сеть доставки контента для статических изображений, чтобы облегчить загрузку вашего веб-сервера.

Вы можете использовать базу данных или файл ресурсов в структуре файла по своему усмотрению. Если изображения статичны, не забудьте добавить соответствующее кэширование, которое для статического контента будет далеким будущим.

Если вы выполняете рендеринг изображений, я бы определенно сохранил изображения в базе данных, чтобы получить доступ к изображениям с любого количества веб-серверов.

Если вы хотите, вы можете разработать это дальше, сохранив изображения, которые были недавно использованы в памяти или хранятся в локальной файловой системе, поэтому вам не нужно каждый раз получать файл из базы данных.