<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # Jersey 文件上傳示例 – Jersey2 `MultiPartFeature` > 原文: [https://howtodoinjava.com/jersey/jersey-file-upload-example/](https://howtodoinjava.com/jersey/jersey-file-upload-example/) 在此 **Jersey2 文件上傳示例**中,我們將學習如何使用 Jersey 的**多部分表單數據支持**來**上傳二進制文件**(例如本示例中的 PDF 文件)。 我們將在下面學習完成功能所需的更改。 ```java Table of Contents 1\. Jersey maven multipart dependency 2\. Add MultiPartFeature in web.xml 3\. Write Jersey Upload REST API 4\. Test file upload using HTML Form 5\. Test file upload using jersey client ``` ## 1\. Jersey Maven 多部分依賴 要使用多部分功能,您需要將`jersey-media-multipart`模塊添加到`pom.xml`文件中: ```java <dependency> <groupId>org.glassfish.jersey.media</groupId> <artifactId>jersey-media-multipart</artifactId> <version>2.19</version> </dependency> ``` ## 2\. 在`web.xml`中添加 Jersey `MultiPartFeature` 此外,您還需要在 Jersey 配置中添加`MultiPartFeature`,以使其知道您將使用多部分請求。 最簡單的方法是通過`web.xml`文件添加支持。 ```java <servlet> <servlet-name>jersey-serlvet</servlet-name> <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class> <init-param> <param-name>jersey.config.server.provider.packages</param-name> <param-value>com.howtodoinjava.jersey</param-value> </init-param> <init-param> <param-name>jersey.config.server.provider.classnames</param-name> <param-value>org.glassfish.jersey.media.multipart.MultiPartFeature</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> ``` ## 3\. 編寫 Jersey 文件上傳 REST API 現在查看用于文件上傳的實際 **REST API**,它將接收并保存文件。 ```java @POST @Path("/pdf") @Consumes({MediaType.MULTIPART_FORM_DATA}) public Response uploadPdfFile( @FormDataParam("file") InputStream fileInputStream, @FormDataParam("file") FormDataContentDisposition fileMetaData) throws Exception { String UPLOAD_PATH = "c:/temp/"; try { int read = 0; byte[] bytes = new byte[1024]; OutputStream out = new FileOutputStream(new File(UPLOAD_PATH + fileMetaData.getFileName())); while ((read = fileInputStream.read(bytes)) != -1) { out.write(bytes, 0, read); } out.flush(); out.close(); } catch (IOException e) { throw new WebApplicationException("Error while uploading file. Please try again !!"); } return Response.ok("Data uploaded successfully !!").build(); } ``` ## 5\. 使用 HTML 表單測試文件上傳 只需在“`webapp`”文件夾中創建文件“`fileUpload.html`”文件,然后粘貼此代碼即可。 ```java <html> <body> <h1>File Upload Example - howtodoinjava.com</h1> <form action="rest/upload/pdf" method="post" enctype="multipart/form-data"> <p>Select a file : <input type="file" name="file" size="45" accept=".pdf" /></p> <input type="submit" value="Upload PDF" /> </form> </body> </html> ``` 現在點擊 URL:“`http://localhost:8080/JerseyDemos/fileUpload.html`”,它將顯示一個 HTML 文件控件來瀏覽文件。 選擇任何 PDF 文件,然后單擊“`Upload PDF`”按鈕。 您的文件將被上傳,并且您將收到消息:“數據成功上傳!” ## 5\. 使用 jersey 客戶端測試文件上傳 如果要使用 Java 客戶端上傳文件,則可以根據需要修改以下工作代碼。 使用`FormDataMultiPart`示例上傳 Jersey 文件。 ```java public static void main(String[] args) throws IOException { final Client client = ClientBuilder.newBuilder().register(MultiPartFeature.class).build(); final FileDataBodyPart filePart = new FileDataBodyPart("file", new File("C:/temp/sample.pdf")); FormDataMultiPart formDataMultiPart = new FormDataMultiPart(); final FormDataMultiPart multipart = (FormDataMultiPart) formDataMultiPart.field("foo", "bar").bodyPart(filePart); final WebTarget target = client.target("http://localhost:8080/JerseyDemos/rest/upload/pdf"); final Response response = target.request().post(Entity.entity(multipart, multipart.getMediaType())); //Use response object to verify upload success formDataMultiPart.close(); multipart.close(); } ``` [**Jersey 文件上傳示例源碼**](//howtodoinjava.com/wp-content/uploads/2015/08/JerseyDemos-File-Upload.zip) 在評論框中輸入您的與 **Jersey2 多部分文件上傳示例**相關的問題。 學習愉快! **參考: [https://jersey.java.net/documentation/latest/user-guide.html#multipart](https://jersey.java.net/documentation/latest/user-guide.html#multipart)**
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看