Как позвонить Grails веб-сервис из C # - PullRequest
0 голосов
/ 06 октября 2010

У меня есть веб-сервис grails, который принимает двоичный файл в качестве параметра. Вот как это выглядит:

def index = {
    switch(request.method){
    case "POST":
    def uploadedFile = request.getFile('file')
    File f=new File('c:/dev/newfile.tar');
    uploadedFile.transferTo(f);
    //do something with f
    break
    }
}

Чтобы проверить это, я использовал curl - вот так:

curl -F file=@somefile.tar http://localhost:8080/MyWebS/fileWS

Ключ в том, что для того, чтобы Grails знал, как получить файл, мне пришлось определить этот файл = thefile в команде curl

Как это приводит к тому, что C # вызывает тот же веб-сервис и передает ему файл. Как будет выглядеть файл? байтовый массив?

1 Ответ

2 голосов
/ 06 октября 2010

Самый простой способ - использовать одну из перегрузок WebClient.UploadFile:

new WebClient().UploadFile("http://localhost:8080/MyWebS/fileWS",
                           "somefile.tar");

Если вам нужно больше контроля, чем это предлагает, вы можете использовать HttpWebRequest.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...