栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

尝试将文件上传到JAX-RS(球衣)服务器

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

尝试将文件上传到JAX-RS(球衣)服务器

如果要将Strings添加到

FormDataMultiPart
just
.field("name","value")
方法中,则使用与用于文件附件相同的方法(queryParam不起作用)。

下面是一个工作示例:

首先,服务器部分以字符串形式返回读取文件的内容:

@Path("file")public class FileResource {    @POST    @Consumes(MediaType.MULTIPART_FORM_DATA)    public Response handleUpload(@FormDataParam("file") InputStream stream) throws Exception {        return Response.ok(IOUtils.toString(stream)).build();    }}

其次,客户端方法发布文件:

public void upload(String url, String fileName) {    InputStream stream = getClass().getClassLoader().getResourceAsStream(fileName);    FormDataMultiPart part = new FormDataMultiPart().field("file", stream, MediaType.TEXT_PLAIN_TYPE);    WebResource resource = Client.create().resource(url);    String response = resource.type(MediaType.MULTIPART_FORM_DATA_TYPE).post(String.class, part);    assertEquals("Hello, World", response);}

三,测试环境:

Server server;@Beforepublic void before() throws Exception {    server = new Server(8080);    server.addHandler(new WebAppContext(WEB_INF_DIRECTORY, "/"));    server.start(); }@Afterpublic void after() throws Exception {    server.stop();}@Testpublic void upload() {    upload("http://localhost:8080/file", "file.txt");}

最后,Maven依赖项:

<dependencies>    <dependency>        <groupId>junit</groupId>        <artifactId>junit</artifactId>        <version>4.8.2</version>        <scope>test</scope>    </dependency>    <dependency>        <groupId>com.sun.jersey</groupId>        <artifactId>jersey-server</artifactId>        <version>1.6</version>    </dependency>    <dependency>        <groupId>com.sun.jersey</groupId>        <artifactId>jersey-client</artifactId>        <version>1.6</version>    </dependency>    <dependency>        <groupId>com.sun.jersey.contribs</groupId>        <artifactId>jersey-multipart</artifactId>        <version>1.6</version>    </dependency>    <dependency>        <groupId>org.mortbay.jetty</groupId>        <artifactId>jetty-embedded</artifactId>        <version>6.1.26</version>    </dependency>    <dependency>        <groupId>commons-io</groupId>        <artifactId>commons-io</artifactId>        <version>2.0.1</version>    </dependency></dependencies>

file.txt
是在类路径的根,含有
Hello, World



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/573889.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号