小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

JSP圖片上傳無(wú)刷新實(shí)現(xiàn)預(yù)覽

 且看且珍惜 2014-05-07


最近項(xiàng)目開(kāi)發(fā)中,需要進(jìn)行圖片上傳,同時(shí)實(shí)現(xiàn)無(wú)刷新圖片預(yù)覽功能,通過(guò)搜索,發(fā)現(xiàn)有很多插件比如jquery的uploadify可以實(shí)現(xiàn)這個(gè)功能,如果不使用插件,可以使用iframe框架方式來(lái)實(shí)現(xiàn)無(wú)刷新圖片預(yù)覽:

(1)在jsp頁(yè)面使用form表單構(gòu)建頁(yè)面圖片上傳界面:

  1. <div id="sendImageDiv" style="width: 100%; height: 205px;border:0px solid yellow">  
  2.                                             <form action="<%=basePath%>lib/kindeditor/jsp/upload_json.jsp"  method="post"  enctype="multipart/form-data" target="hidden_frame_name">  
  3.                                                     <div style="margin-top:50px;margin-left:200px;font-size: 12px;font-family: ''Microsoft YaHei', Helvetica, Verdana, Arial, Tahoma;">注:圖片大小最大不能超過(guò)1M! </div>    
  4.                                                     <div style="margin-top:10px;margin-left:200px;font-size: 12px;font-family: 'Microsoft YaHei', Helvetica, Verdana, Arial, Tahoma;"><input type="file" name="file"/></div>    
  5.                                                     <div style="margin-top:10px;margin-left:200px;font-size: 12px;font-family: 'Microsoft YaHei', Helvetica, Verdana, Arial, Tahoma;"><input type="submit" value="上傳"/></div>    
  6.                                             </form>  
  7.                                         </div>  
  8. <iframe name='hidden_frame_name' id="hidden_frame_id" style="display:none"></iframe>   
form的target屬性指向子框架iframe,屬性名與iframe框架名相同

(2)構(gòu)建后臺(tái)action,處理form表單提交的文件上傳處理,將獲取到的圖片路徑通過(guò)out輸出,具體的圖片路徑以及其他信息可以通過(guò)JSONObject保存,然后頁(yè)面通過(guò)JS進(jìn)行JSON的獲取:

  1. JSONObject obj = new JSONObject();  
  2.         obj.put("error", 0);  
  3.         obj.put("url", saveUrl + newFileName);  
  4.         String guid = UUIDGenerator.getGuid();  
  5.         out.println(obj.toJSONString());  
  6.         out.println("<script>window.parent.imagePreview('" + obj.toJSONString() +"', '" + guid + "')</script>");  

由于form表單實(shí)現(xiàn)了target定向,因此action處理文件上傳之后,out輸出的內(nèi)容是保存在iframe子框架中。通過(guò)out輸出的js函數(shù),就可以調(diào)用父窗口也就是操作圖片上傳所在頁(yè)面的函數(shù)(相當(dāng)于回調(diào)函數(shù)),獲取傳入的json參數(shù),對(duì)父窗口進(jìn)行處理,插入圖片標(biāo)簽,圖片的src就來(lái)自于JSON中的url:
[javascript] view plaincopy
  1. //預(yù)覽圖片  
  2.         function imagePreview(imageUrl, guid) {  
  3.             //alert("imageUrl: " + imageUrl);  
  4.             var srcUrl = $.parseJSON(imageUrl)  
  5.             //alert("url: " + srcUrl.url);  
  6.             var html = '<img src="'+ srcUrl.url  + '" width="80px" height ="120px" id="' + guid + '" onclick="imageResize(this.id)" title="點(diǎn)擊放大/縮小"/>';  
  7.             $("#imagePreview").html(html);  
  8.         }  



    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多