您好,登錄后才能下訂單哦!
1.struts2-dwr-plugin-2.3.1.jar
<servlet> <servlet-name>dwr</servlet-name> <servletclass> org.directwebremoting.servlet.DwrServlet </servlet-class> <init-param> <param-name>debug</param-name> <param-value>true</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>dwr</servlet-name> <url-pattern>/dwr/*</url-pattern> </servlet-mapping>
dwr.xml配置如下:
<dwr> <allow> <!--creator="new":表示每一次dwr請求但是創(chuàng)建一個新的實例 javascript="DWRService"表示頁面通過什么名字來對應(yīng)調(diào)用你的java類提供服務(wù) --> <create creator="new" javascript="DWRService"> <!--指定為前臺提供服務(wù)的java類 這里的DWRDemo類在頁面使用的時候使用DWRService調(diào)用--> <param name="class"value="net.farxiang.dwr.DWRUpload"> </param> </create> </allow> </dwr>
<script type="text/javascript" src="/dwr/engine.js"></script>
對應(yīng) 在步驟3:中定義的 javascript="DWRService" 關(guān)聯(lián)的java類
<script type="text/javascript" src="/dwr/interface/DWRService.js"></script>
可選引入依賴提供一些方便的工具方法的使用
<script type="text/javascript" src="/dwr/util.js"></script>
因為在xml里開啟了debug模式,以上引入的js文件都可以在url里輸入項目路徑/dwr得到。
<script type="text/javascript"> var upload = function(){ var headf = dwr.util.getValue("headfile"); DWRService.headUp(headf,function(savePath){ var div = document.getElementById("div"); var img = document.createElement("img"); img. savePath; img.id = "target"; div.appendChild(img); }); }; </srcipt> <input type="file" name="headfile" id="headfile" onchange="upload();"> <div id="div"></div>
java代碼如下:
package net.farxiang.dwr.DWRUpload; import java.io.File; import org.apache.commons.io.FileUtils; import org.directwebremoting.WebContext; import org.directwebremoting.WebContextFactory; import org.directwebremoting.io.FileTransfer; public class DWRUpload{ public String headUp(FileTransfer ft){ WebContext wc = WebContextFactory.get(); //獲得應(yīng)用路徑 String headImages = wc.getSession().getServletContext().getRealPath("/p_w_picpaths"); File file = new File(headImages); //如果文件夾不存在,就創(chuàng)建 if( !file.exists()){ file.mkdirs(); } try{ //文件上傳核心代碼使用 commons-io-2.0.1.jar完成 String[] fileNameSplit = ft.getFilename().split("\\\\"); String fileName = fileNameSplit[fileNameSplit.length-1]; FileUtils.copyInputStreamToFile(ft.getInputStream(), new File(headImages+File.separator+fileName)); return headImages+File.separator+fileName; }catch(Exception e){ e.printStackTrace(); } return null; } }
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。