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

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # RESTEasy 文件上傳 - HTML 表單示例 > 原文: [https://howtodoinjava.com/resteasy/jax-rs-resteasy-file-upload-html-form-example/](https://howtodoinjava.com/resteasy/jax-rs-resteasy-file-upload-html-form-example/) 在上一篇文章中,我們了解了有關在 JAX-RS RESTEasy 應用中上傳文件的信息,其中使用`HttpClient`庫構建了[**客戶端來上傳文件**](//howtodoinjava.com/resteasy/jax-rs-resteasy-file-upload-httpclient-example/ "JAX-RS RESTEasy file upload + httpclient example")。 該客戶端是純 Java 客戶端,沒有任何 UI 關聯。 在這篇文章中,我將構建相同的上傳功能,但是這次,我們將有一個與之交互的 UI。 我們將文件上傳到服務器的 UI 如下所示。 ![jax-rs resteasy file upload example](https://img.kancloud.cn/9d/fd/9dfdfbc9718636c62961c790a05c5a50_468x235.png) JAX-RS RESTeasy 文件上傳示例 讓我們逐步制作應用: 1)使用 Maven 創建一個 Eclipse Web 項目進行依賴項管理 [在此處學習操作方法](//howtodoinjava.com/maven/ "Maven Tutorials") **2)更新`pom.xml`中的項目依賴項** ```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/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.howtodoinjava</groupId> <artifactId>RESTfulDemoApplication</artifactId> <packaging>war</packaging> <version>1.0-SNAPSHOT</version> <name>RESTfulDemoApplication Maven Webapp</name> <url>http://maven.apache.org</url> <repositories> <repository> <id>jboss</id> <url>http://repository.jboss.org/maven2</url> </repository> </repositories> <dependencies> <!-- Junit support --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <!-- core library --> <dependency> <groupId>org.jboss.resteasy</groupId> <artifactId>resteasy-jaxrs</artifactId> <version>2.3.1.GA</version> </dependency> <dependency> <groupId>net.sf.scannotation</groupId> <artifactId>scannotation</artifactId> <version>1.0.2</version> </dependency> <!-- JAXB provider --> <dependency> <groupId>org.jboss.resteasy</groupId> <artifactId>resteasy-jaxb-provider</artifactId> <version>2.3.1.GA</version> </dependency> <!-- Multipart support --> <dependency> <groupId>org.jboss.resteasy</groupId> <artifactId>resteasy-multipart-provider</artifactId> <version>2.3.1.GA</version> </dependency> <!-- For better I/O control --> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.0.1</version> </dependency> </dependencies> <build> <finalName>RESTfulDemoApplication</finalName> </build> </project> ``` **3)更新`web.xml`文件以映射有效的 REST API** ```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> <!-- Auto scan REST service --> <context-param> <param-name>resteasy.scan</param-name> <param-value>true</param-value> </context-param> <listener> <listener-class> org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap </listener-class> </listener> <servlet> <servlet-name>resteasy-servlet</servlet-name> <servlet-class> org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher </servlet-class> </servlet> <servlet-mapping> <servlet-name>resteasy-servlet</servlet-name> <url-pattern>/rest-ws/*</url-pattern> </servlet-mapping> </web-app> ``` **4)使用所需的用戶界面更新`index.jsp`文件** ```java <html> <body> <h1>JAX-RS File Upload Example</h1> <form action="rest-ws/upload-file" method="post" enctype="multipart/form-data"> <p> File name : <input type="text" name="fileName" /> </p> <p> Choose the file : <input type="file" name="selectedFile" /> </p> <input type="submit" value="Upload" /> </form> https://www.howtodoinjava.com </body> </html> ``` **5)創建具有映射到 HTML 表單的字段的`FileUploadForm`** ```java package com.howtodoinjava.client.upload; import javax.ws.rs.FormParam; import org.jboss.resteasy.annotations.providers.multipart.PartType; public class FileUploadForm { public FileUploadForm() { } private byte[] fileData; private String fileName; public String getFileName() { return fileName; } @FormParam("fileName") public void setFileName(String fileName) { this.fileName = fileName; } public byte[] getFileData() { return fileData; } @FormParam("selectedFile") @PartType("application/octet-stream") public void setFileData(byte[] fileData) { this.fileData = fileData; } } ``` **6)創建具有處理上傳文件邏輯的 RESTful API** ```java package com.howtodoinjava.client.upload; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import javax.ws.rs.Consumes; import javax.ws.rs.POST; import javax.ws.rs.Path; import javax.ws.rs.core.Response; import org.jboss.resteasy.annotations.providers.multipart.MultipartForm; @Path("/rest-ws") public class DemoFileSaver_MultipartForm { @POST @Path("/upload-file") @Consumes("multipart/form-data") public Response uploadFile(@MultipartForm FileUploadForm form) { String fileName = form.getFileName() == null ? "Unknown" : form.getFileName() ; String completeFilePath = "c:/temp/" + fileName; try { //Save the file File file = new File(completeFilePath); if (!file.exists()) { file.createNewFile(); } FileOutputStream fos = new FileOutputStream(file); fos.write(form.getFileData()); fos.flush(); fos.close(); } catch (IOException e) { e.printStackTrace(); } //Build a response to return return Response.status(200) .entity("uploadFile is called, Uploaded file name : " + fileName).build(); } } ``` **7)測試應用** **祝您學習愉快!**
                  <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>

                              哎呀哎呀视频在线观看