91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

DWR3.0實現異步上傳文件

發布時間:2020-07-09 08:41:28 來源:網絡 閱讀:992 作者:FarXiang 欄目:web開發
Struts2.3.1 中整合DWR3.0 實現文件上傳
步驟1:導入 dwr*.jar ,
1.struts2-dwr-plugin-2.3.1.jar 

步驟2:在web.xml中引入dwr的配置
<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>

注意需要修改原來配置好的 struts2 原<url-pattern>/*</url-pattern> 為<url-pattern>*.action</url-pattern> 表示struts2只負責處理 .action結尾的請求

步驟3:在web.xml同級目錄中定義一個dwr.xml 配置文件, (dwr.xml可以去dwr.jar包中獲得)

dwr.xml配置如下:


<dwr>
    <allow>
    <!--creator="new":表示每一次dwr請求但是創建一個新的實例
    javascript="DWRService"表示頁面通過什么名字來對應調用你的java類提供服務 -->
    <create creator="new" javascript="DWRService">
    <!--指定為前臺提供服務的java類   這里的DWRDemo類在頁面使用的時候使用DWRService調用-->
    <param         name="class"value="net.farxiang.dwr.DWRUpload">          </param>        
    </create>
    </allow>
 </dwr>
步驟4:
必須引入依賴的js文件一般有2個ajax 核心引擎
<script type="text/javascript" src="/dwr/engine.js"></script>

對應 在步驟3:中定義的 javascript="DWRService" 關聯的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得到。

步驟5:
使用DWRService.headUp(參數 , 如果有返回,回調方法 )
代碼如下:html代碼
<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(); 
           //獲得應用路徑
           String headImages = wc.getSession().getServletContext().getRealPath("/p_w_picpaths"); 
            File file = new File(headImages); 
            //如果文件夾不存在,就創建
          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;
     }
}


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

米易县| 鄂托克旗| 赣榆县| 迭部县| 阿拉善右旗| 梁平县| 郓城县| 金坛市| 雅江县| 赣州市| 武清区| 沁阳市| 米易县| 宕昌县| 旌德县| 桃江县| 洛南县| 广平县| 右玉县| 延寿县| 胶州市| 瑞昌市| 泰和县| 公主岭市| 平潭县| 信丰县| 平度市| 建平县| 舒兰市| 墨竹工卡县| 白山市| 安顺市| 虞城县| 旬阳县| 井陉县| 甘德县| 仙游县| 临潭县| 灯塔市| 小金县| 昌都县|