Загрузка файлов через веб-сервисы

Можно ли загрузить файл с компьютера клиента на сервер через веб-сервис? Клиент может запускать что угодно, от нативного настольного приложения до тонкого ajax-клиента.

14.08.2008 23:33:01
2 ОТВЕТА

Я не мастер в "веб-сервисе", но если вы разрабатываете веб-сервис (и клиент), вы всегда можете конвертировать бинарный файл в BASE64 в клиенте (можно сделать в Java ... и я также в AJAX) и передать как "строку", с другой стороны, в веб-сервисе кодировать в двоичный файл из BASE64 ...

Это одна идея, это работа, но, возможно, не «правильная» во всех отношениях.

0
18.08.2008 11:35:32

Конечно, можно отправлять двоичные файлы через веб-сервисы (например, SOAP), но обычно вам необходимо выполнить какое-то кодирование, например base64, что увеличивает объем отправляемых данных. Одним из наиболее эффективных способов отправки произвольного двоичного файла является операция HTTP PUT, так как нет затрат на кодирование. Не все клиенты обязательно имеют легкий способ сделать это, но это стоит посмотреть.

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

1
18.08.2008 11:42:22