標籤:body type new public version inpu comm bst load
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第五篇之檔案上傳