Это вопрос и ответ шоу, как послать файл как массив байтов через веб-сервис XML. Сколько наверху произведено при помощи этого метода для передачи файлов? Я предполагаю, что данные выглядят примерно так:
<?xml version="1.0" encoding="UTF-8" ?>
<bytes>
<byte>16</byte>
<byte>28</byte>
<byte>127</byte>
...
</bytes>
Если этот формат правилен, байты должны сначала быть преобразованы в знаки UTF-8. Каждый из этих знаков ассигнует 8 байтов. Байты сохранены в основе 10, ведьма или двойные персонажи? Насколько больше файл появляется, поскольку его посылают из-за XML-данных и кодировки символов? Сжатие встроено в веб-сервисы?
Как правило, массив байтов посылают как 'base64' закодированная последовательность, не как отдельные байты в признаках.
http://en.wikipedia.org/wiki/Base64
Закодированная версия 'base64' о 137% размера оригинального содержания.
Я использую этот метод для некоторых внутренних корпоративных веб-сервисов и меня haven' t заметил любое основное замедление (но это doesn' t означают it' s не там).
Вы могли, вероятно, использовать любой из многочисленных сетевых транспортных аналитических инструментов, чтобы измерить размер данных и сделать личный выбор базирующимся от этого.
I' m не уверенный во всех подробностях (сжатие, кодирование, и т.д.), но я обычно просто использую WireShark, чтобы проанализировать сетевой трафик (пробуя различные методы), который тогда позволяет Вам видеть точно как it' s посланный.
Например, если it' s сжал блок данных пакета shouldn' t быть удобочитаемым как открытый текст... однако, если it' s несжатый, Вы будете просто видеть, что простой xml текст... как Вы видел бы с трафиком HTTP, или даже FTP в определенных случаях.
Чтобы отозваться эхом, что Кевин сказал в .net веб-сервисах, если у Вас есть массив байтов, его посылают как base64 закодированная последовательность по умолчанию. Вы можете также определить кодирование массива байтов заранее.
Очевидно, как только это добирается до сервера (или клиент), Вы должны вручную расшифровать последовательность назад в массив байтов как этот isn' t сделанный автоволшебно для Вас, к сожалению.
Главная работа поразила isn' t собирающийся быть от передачи закодированного файла, it' s собирающийся быть в обработке, которую сервер должен сделать, чтобы закодировать предварительную передачу файла (если файлы don' t изменение часто и закодированная версия может припрятаться про запас так или иначе).