簡體   English   中英

如何從服務器上部署的Java Web服務訪問本地文件?

[英]How can I access a local file from a Java webservice deployed on a server?

我創建了一個Java Web服務,它對所選文件執行指定的功能。 我將不得不將該服務部署到服務器,並將從我的Java代碼中調用服務的URL。 現在,要在其上執行該功能的文件必須以post標頭形式發送給Web服務。 如何從服務器訪問此文件路徑? 如果我只是將路徑作為文件的參數發送到該文件(例如C:/folder/file.pdf),它將起作用嗎? 如果沒有,那將如何實現?

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

Web客戶端如下:

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);

和Web服務如下:

@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-如果您的機器和服務器位於同一網絡中並且具有共享資源,則您的服務器可以直接訪問該文件。

2-這是最重要的方法。 您首先需要將該文件上傳到服務器,然后將該文件寫入服務器,然后對該文件執行所需操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM