c# - 如何从C#调用Grails Web服务

标签 c# web-services grails

我有一个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/

相关文章:

grails - Grails GORM如何在类型为String的hasMany上排序

grails - Grails:从BuildConfig.groovy内部检查环境

grails - 如何在GRAILS 3中生成EAR文件?

c# - 通过C#中的TCP套接字将鼠标坐标发送到Unity Client

java - Spring-Webservices 的快速入门工具?

c# - 从哪里开始使用 WCF 和 wsdl 文件?

c# - HttpWebRequest 始终显示相同的结果 C#

c# - DTO 到 TypeScript 生成器

c# - 如何在固定语句中使用锯齿状数组?

c# - C# 使用 AES 对 Java 加密/解密的奇怪行为