Загрузка файлов через веб-сервисы - PullRequest
4 голосов
/ 15 августа 2008

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

Ответы [ 2 ]

1 голос
/ 18 августа 2008

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

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

0 голосов
/ 18 августа 2008

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

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

...