<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 文件下載示例 – `StreamingOutput` > 原文: [https://howtodoinjava.com/jersey/jersey-streamingoutput/](https://howtodoinjava.com/jersey/jersey-streamingoutput/) 在此 **Jersey 文件下載示例**中,我們將學習編寫一個 Jersey [rest api](//howtodoinjava.com/restful-web-service/) ,該 API 可以流式傳輸或下載文件(例如 PDF/Excel/Text 文件)發送給請求的客戶端。 我將使用[`javax.ws.rs.core.StreamingOutput`](https://docs.oracle.com/javaee/7/api/javax/ws/rs/core/StreamingOutput.html)類來構建此 **JAX-RS** API。 ```java Table of Contents 1\. REST API to stream file with StreamingOutput 2\. Jersey file download demo 3\. Maven dependencies 4\. web.xml changes ``` ## 1\. 使用`StreamingOutput`傳輸文件的 REST API 以下是**使用 JAX-RS Jersey 的`StreamingOutput`類**編寫流式 REST API 的源代碼。 ```java package com.howtodoinjava.jersey; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Paths; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.WebApplicationException; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import javax.ws.rs.core.StreamingOutput; @Path("/download") public class JerseyService { @GET @Path("/pdf") public Response downloadPdfFile() { StreamingOutput fileStream = new StreamingOutput() { @Override public void write(java.io.OutputStream output) throws IOException, WebApplicationException { try { java.nio.file.Path path = Paths.get("C:/temp/test.pdf"); byte[] data = Files.readAllBytes(path); output.write(data); output.flush(); } catch (Exception e) { throw new WebApplicationException("File Not Found !!"); } } }; return Response .ok(fileStream, MediaType.APPLICATION_OCTET_STREAM) .header("content-disposition","attachment; filename = myfile.pdf") .build(); } } ``` ## 2\. Jersey 文件下載演示 如果點擊 URL “`http://localhost:8080/JerseyDemos/rest/download/pdf`”,則會在瀏覽器中顯示以下警告,以下載文件。 PDF 文件將被保存的`filename`將是您在`Response.header()`方法中設置的。 ![Jersey file download example](https://img.kancloud.cn/dc/61/dc61ba338ec8e7e96657feb1f16e3329_700x145.png) Jersey 文件下載示例 請確保您在 API 代碼中指定的路徑中存在文件,否則會出錯。 ## 3\. Maven 依賴 為了快速參考,請參閱下面我用于此演示的 maven 文件。 ```java <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd; <modelVersion>4.0.0</modelVersion> <groupId>com.howtodoinjava.jersey</groupId> <artifactId>JerseyDemos</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>war</packaging> <repositories> <repository> <id>maven2-repository.java.net</id> <name>Java.net Repository for Maven</name> <url>http://download.java.net/maven/2/</url> <layout>default</layout> </repository> </repositories> <properties> <jersey2.version>2.19</jersey2.version> <jaxrs.version>2.0.1</jaxrs.version> </properties> <dependencies> <!-- JAX-RS --> <dependency> <groupId>javax.ws.rs</groupId> <artifactId>javax.ws.rs-api</artifactId> <version>${jaxrs.version}</version> </dependency> <!-- Jersey2.19 --> <dependency> <groupId>org.glassfish.jersey.containers</groupId> <artifactId>jersey-container-servlet</artifactId> <version>${jersey2.version}</version> </dependency> <dependency> <groupId>org.glassfish.jersey.core</groupId> <artifactId>jersey-server</artifactId> <version>${jersey2.version}</version> </dependency> <dependency> <groupId>org.glassfish.jersey.core</groupId> <artifactId>jersey-client</artifactId> <version>${jersey2.version}</version> </dependency> </dependencies> <build> <finalName>JerseyDemos</finalName> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.7</source> <target>1.7</target> </configuration> </plugin> </plugins> </build> </project> ``` ## 4\. `web.xml`的更改 另外,如果您正在使用[Jersey2 配置](//howtodoinjava.com/jersey/jersey-2-hello-world-application-tutorial/),請參考`web.xml`文件。 ```java <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd" > <web-app> <display-name>Archetype Created Web Application</display-name> <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> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>jersey-serlvet</servlet-name> <url-pattern>/rest/*</url-pattern> </servlet-mapping> </web-app> ``` [源碼下載](//howtodoinjava.com/wp-content/uploads/2015/08/JerseyDemos_FileDownload.zip) 在下面的評論部分中,將有關 **Java 流文件下載示例**的問題交給我。 學習愉快!
                  <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>

                              哎呀哎呀视频在线观看