首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何接受byte[]作为对POST的响应

如何接受byte[]作为对POST的响应
EN

Stack Overflow用户
提问于 2014-06-30 20:38:33
回答 1查看 577关注 0票数 1

我正在向一个服务发出一个POST请求并发送一个文件。在此POST请求的响应中,该服务使用byte[]进行响应。如何在我的代码中访问返回的byte[]

这就是我如何使用apache-commons-httpclient在客户机代码中执行POST

代码语言:javascript
复制
public void sendFile(InputStream is) throws Exception {
    HttpClient client = new HttpClient();
    PostMethod method = new PostMethod("http://service:8080/myservice/request/testimage");
    ByteArrayPartSource bpa = new ByteArrayPartSource("s.jpg",IOUtils.toByteArray(is));
    Part[] parts = new Part[] {
            new FilePart("myFile", bpa)
    };
    method.setRequestEntity(
            new MultipartRequestEntity(parts, method.getParams())
    );
    client.executeMethod(method);
}

该服务也是由我编写的,我可以控制它。它是用grails编写的,看起来像这样:

代码语言:javascript
复制
//Domain
class Image {
    byte[] myFile
    static constraints = {
        myFile maxSize: 1024 * 1024 * 2
    }
}
//Controller
def testimage() {
    def img = new Image(params)
    byte[] fileBytes = service.performChangesToFile(img.myFile)
    render fileBytes
}
EN

回答 1

Stack Overflow用户

发布于 2014-06-30 20:45:03

使用Base64 encoding将响应数据发送到您的客户端。

您的客户端接收Base64字符串并将其解码为字节数组。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24490354

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档