1. 程式人生 > >DWR第五篇之文件上傳

DWR第五篇之文件上傳

rem put rip data www. == throws text org

1. 在第一篇架構基礎上進行

2. 修改maven依賴

 1 <dependencies>
 2     <dependency>
 3         <groupId>org.directwebremoting</groupId>
 4       <artifactId>dwr</artifactId>
 5       <version>3.0.1-RELEASE</version>
 6     </dependency>
 7     <dependency>
8   <groupId>commons-logging</groupId> 9   <artifactId>commons-logging</artifactId> 10   <version>1.2</version> 11 </dependency> 12 <dependency> 13 <groupId>commons-fileupload</groupId> 14 <artifactId
>commons-fileupload</artifactId> 15 <version>1.3.1</version> 16 </dependency> 17 <dependency> 18 <groupId>commons-io</groupId> 19 <artifactId>commons-io</artifactId> 20 <version>2.4</version> 21
</dependency> 22 </dependencies>

3. 編寫jsp頁面

 1 <html>
 2 <head>
 3 <base href="<%=basePath%>">
 4 
 5 <title>dwr</title>
 6 <script type=‘text/javascript‘ src=‘dwr/engine.js‘></script>
 7 <script type=‘text/javascript‘ src=‘dwr/util.js‘></script>
 8 <script type=‘text/javascript‘ src=‘dwr/interface/CoreServlet.js‘></script>
 9 </head>
10 <body>
11 
12     <input type="file" name="file" />
13     <button onclick="upload();">上傳</button>
14 
15 </body>
16 <script type="text/javascript">
17     function upload() {
18         var file = dwr.util.getValue("file");  
19         CoreServlet.uploadFile(file, file.value, function(data) {
20             if (data == true) {
21                 alert("上傳成功!");
22             }
23         });
24     }
25 </script>
26 </html>

4. 編寫後臺代碼:

 1 public class CoreServlet {
 2 
 3     public boolean uploadFile(InputStream is, String path) throws Exception {
 4         String fileName = path.substring(path.lastIndexOf("\\") + 1, path.length());
 5         FileOutputStream fos = new FileOutputStream(new File("E://" + fileName));
 6         byte[] b = new byte[1024];
 7         while ((is.read(b)) != -1) {
 8             fos.write(b);
 9         }
10         is.close();
11         fos.close();
12         return true;
13     }
14 
15 }

DWR第五篇之文件上傳