Лучший способ / быстрый способ передачи изображения через веб-сервис - PullRequest
0 голосов
/ 23 июля 2010

Каков наилучший способ передачи изображения 800 * 600 через веб-сервис с использованием C #?

Я ищу быстрый метод.

спасибо

Ответы [ 4 ]

1 голос
/ 23 июля 2010

Если вы используете WSE, рассмотрите , используя MTOM .

Если вы используете WCF, вы можете использовать привязку MTOM .

1 голос
/ 23 июля 2010

Если вы используете WCF 4.0, вы можете использовать сокет-программирование, и оттуда вы можете передавать как двоичный файл (сжатый, конечно, 7zip).

Если изображение уже в сжатом формате (например, jpeg)) тогда сжатие не будет таким сильным и замедлит фактическую общую передачу (сжатие - передача - распаковка).

0 голосов
/ 23 июля 2010

Возможно, вы захотите отправить изображение небольшими кусочками (даже если оно упаковано, как упоминал Крис Шредер), скажем, по 50 Кб за раз.Это дает вам два преимущества по сравнению с отправкой всего файла одновременно:

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

Тем не менее, с помощью этого метода у вас теперь есть две новые проблемы для обработки, и это гарантирует, что вы получите все части, и что они в правильном порядке.

Отправка некоторых метаданных с данными изображения может исправить эту ситуацию.Идентификатор, который связывает этот фрагмент данных с другими, и номер фрагмента, который будет определять, где этот фрагмент должен быть относительно остальных фрагментов.

0 голосов
/ 23 июля 2010

Если вы хотите сохранить пропускную способность / скорость (не тестируется на многих различных форматах изображений)

7zip C # SDK (http://www.7 -zip.org / sdk.html ) 7-Заархивируйте байты и отправьте байты

и, где необходимо, до 7-Zip (LZMA) байтов и преобразуйте в изображение.

...