我有一个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知道如何获取文件,我必须在curl命令中定义那个file = thefile。
这如何使C#调用相同的Web服务并将其传递给文件。该文件是什么样的?字节数组?
最佳答案
最简单的方法是使用 WebClient.UploadFile
重载之一:
new WebClient().UploadFile("http://localhost:8080/MyWebS/fileWS",
"somefile.tar");
如果您需要更多的控制权,可以使用
HttpWebRequest
。
关于c# - 如何从C#调用Grails Web服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3875712/