如何从服务器上部署的Java Web服务访问本地文件?

时间:2016-09-28 05:53:14

标签: java web-services file

我创建了一个Java webservice,它在所选文件上执行指定的功能。我将不得不将服务部署到服务器,并将调用url从我的Java代码中获取服务。现在,要在其上执行该函数的文件必须作为参数发送到web服务中。如何从服务器访问此文件路径?如果我只是将该文件的路径(例如C:/folder/file.pdf)作为参数发送到Web服务,它会起作用吗?如果没有,怎么能实现呢?

我需要在部署服务之前知道答案。

webclient如下:

WebTarget webTarget = clientobj.target("http://localhost:8080/myWebApp/method1/Name1");
            MultivaluedMap<String, String> formData = new MultivaluedHashMap<String, String>();
            formData.add("methodName", methodName);
            formData.add("pdfPath", "C:/folder/a.pdf"); //path to my pdf doc that needs to be sent to the server
            formData.add("textFile", "C:/folder/b.txt");
            Response response = webTarget.request().post(Entity.form(formData));
            String output = response.readEntity(String.class);

,网络服务如下:

@POST
    @Produces(MediaType.TEXT_PLAIN)
    public String createBooking(@PathParam("methodName") String methodName, 
            @FormParam("pdfPath") String pdfPath, 
            @FormParam("textFile") String textFile))
{
PdfReader reader = new PdfReader(pdfPath);
}

1 个答案:

答案 0 :(得分:1)

有两种方法可以做到这一点。

  

1 - 如果您的计算机和服务器位于同一网络中且拥有共享资源,那么您的服务器可以直接访问该文件。

     

2 - 这是最重要的方法。您首先需要上传该文件   到您的服务器,然后在您的服务器上写下该文件并执行您的操作   想要那个文件。