如何使用jersey restful Web服务将文件上传到服务器

时间:2011-08-31 09:49:14

标签: web-services

我正在研究jersey restful web services(Java)。

我想使用restful web服务上传或发送文件到服务器。

请帮我解决这个问题?

1 个答案:

答案 0 :(得分:1)

首先,您必须探索诸如HTTP查询结构,Multipart MIME类型等术语。 最简单的球衣代码看起来像下面的代码片段。它是用scala编写的,但你应该很容易理解:

@Path("/upload")
class UploadFileResource {

    @POST
    @Path("/file")
    @Consumes(Array(MediaType.MULTIPART_FORM_DATA))
    @Produces(Array(MediaType.TEXT_PLAIN))
    def processUpload(
        @FormDataParam("file") uploadedInputStream: InputStream,
        @HeaderParam("Content-Length") length: Int) = {
        println("Content-Length: " + length)
    }

    @GET
    @Path("/form")
    @Produces(Array(MediaType.TEXT_HTML))
    def getFormMurkup() = {
        "<html><body><form method='post' action='file' enctype='multipart/form-data'>" +
            "<input type='file' name='file' />" +
            "<input type='submit' value='Upload' />" +
            "</form>" +
            "</html></body>"
    }

}