Передача двоичного изображения на другую страницу - PullRequest
0 голосов
/ 30 сентября 2018

Я получаю двоичное изображение из SQL Server и хотел бы передать это двоичное изображение из элемента управления GridView на другую страницу и отобразить его с помощью элемента управления Image.Каков наилучший способ сделать это?

Я пытался использовать Http.Utility (кодировать и декодировать), и он сказал, что URL слишком длинный.

1 Ответ

0 голосов
/ 30 сентября 2018

Мое предложение следующее:1. Из деталей, кажется, что ваше изображение хранится в виде двоичного объекта (двоичные данные) в таблице базы данных.2. Вместо того, чтобы извлекать большой двоичный объект (двоичные данные) и передавать его на следующую страницу, вы можете просто передать идентификатор базы данных на следующую страницу.3. На следующей странице сделайте AJAX-запрос к коду на стороне сервера .NET (вы можете поместить его при загрузке страницы) и получите большой двоичный объект на основе идентификатора базы данных, полученного с предыдущей страницы.4. Затем отобразите это изображение и загрузите его в тег HTML div или img, используя обратный вызов javascript для успешного выполнения запроса ajax.Кстати, рекомендуется всегда хранить изображения в файловой системе.Если вы можете провести рефакторинг своего серверного кода для хранения изображений в структуре каталогов - это было бы идеально.Это может занять много изменений в вашей кодовой базе.Если изображения не слишком велики - вы можете продолжить использовать существующий подход с предложенным мною решением.Как правило, наличие больших двоичных данных в таблицах базы данных может в долгосрочной перспективе замедлить выполнение запросов.

Вы можете проверить, как установить двоичные данные, извлекаемые в виде изображения, и установить его в HTML.Пожалуйста, проверьте эту ссылку для деталей: Можно ли поместить двоичные данные изображения в HTML-разметку, а затем получить изображение, как обычно, в любом браузере?

...