利用Jersey怎么構(gòu)建一個(gè)圖片服務(wù)器?針對(duì)這個(gè)問(wèn)題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問(wèn)題的小伙伴找到更簡(jiǎn)單易行的方法。
創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)、肥西網(wǎng)絡(luò)推廣、小程序制作、肥西網(wǎng)絡(luò)營(yíng)銷、肥西企業(yè)策劃、肥西品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供肥西建站搭建服務(wù),24小時(shí)服務(wù)熱線:028-86922220,官方網(wǎng)址:aaarwkj.com
前臺(tái)頁(yè)面代碼
<form id="jvForm" action="add.do" method="post" enctype="multipart/form-data"> <table> <tr> <td width="20%" class="pn-flabel pn-flabel-h"></td> <td width="80%" class="pn-fcontent"> <img width="100" height="100" id="allImgUrl" /> <input type="hidden" name="imgUrl" id="path" /> <input type="file" onchange="uploadPic()" name="pic" id="logoPic"/> </td> </tr> </table> </form>
前臺(tái)JS代碼
<script type="text/javascript"> //上傳圖片 function uploadPic() { //定義參數(shù) var options = { url : "/upload/uploadPic.do", dataType : "json", type : "post", beforeSubmit : function(formData,jqForm,options){ // 判斷是否為圖片 // 將jqForm轉(zhuǎn)成DOM對(duì)象 var f = jqForm[0]; // 獲取DOM對(duì)象中name為logoPic的值 var v = f.logoPic.value; // 獲取擴(kuò)展名,并轉(zhuǎn)成小寫 var ext = v.substring(v.length-3).toLowerCase(); // 比對(duì)擴(kuò)展名 jpg gif bmp png if(ext != "jpg" && ext != "gif" && ext != "bmp" && ext != "png"){ alert("只允許上傳圖片!"); return false; } //校驗(yàn)提交的表單 return true; }, success : function(data) { // 回顯圖片內(nèi)容 $("#allImgUrl").attr("src", data.url); $("#path").val(data.path); } }; // jquery.form使用方式 $("#jvForm").ajaxSubmit(options); } </script>
在Spring中配置圖片轉(zhuǎn)換器
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <!-- 設(shè)置上傳文件的最大尺寸為1MB --> <property name="maxUploadSize" value="1048576"/> </bean>
創(chuàng)建UploadController以及工具類
package cn.itcast.core.controller.admin; import java.io.IOException; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Random; import javax.servlet.http.HttpServletResponse; import org.apache.commons.io.FilenameUtils; import org.json.JSONObject; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.multipart.MultipartFile; import com.sun.jersey.api.client.Client; import com.sun.jersey.api.client.WebResource; import cn.itcast.common.web.ResponseUtils; import cn.itcast.core.web.Constants; @Controller public class UploadController { // 上傳圖片 @RequestMapping(value = "/upload/uploadPic.do") public void uploadPic(@RequestParam(required = false) MultipartFile pic, HttpServletResponse response) { // 擴(kuò)展名 String ext = FilenameUtils.getExtension(pic.getOriginalFilename()); // 圖片名稱生成策略 DateFormat df = new SimpleDateFormat("yyyyMMddHHmmssSSS"); // 圖片名稱一部分 String format = df.format(new Date()); // 隨機(jī)三位數(shù) Random r = new Random(); // n 1000 0-999 99 for (int i = 0; i < 3; i++) { format += r.nextInt(10); } // 實(shí)例化一個(gè)Jersey Client client = new Client(); // 保存數(shù)據(jù)庫(kù) String path = "upload/" + format + "." + ext; // 另一臺(tái)服務(wù)器的請(qǐng)求路徑是? String url = Constants.IMAGE_URL + path; // 設(shè)置請(qǐng)求路徑 WebResource resource = client.resource(url); // 發(fā)送開(kāi)始 POST GET PUT try { resource.put(String.class, pic.getBytes()); } catch (IOException e) { e.printStackTrace(); } // 返回二個(gè)路徑 JSONObject jsonObject = new JSONObject(); jsonObject.put("url", url); jsonObject.put("path", path); ResponseUtils.renderJson(response, jsonObject.toString()); } } package cn.itcast.core.web; public interface Constants { /** * 圖片服務(wù)器 */ public static final String IMAGE_URL = "http://localhost:8088/BabasportProject_ImageService/"; } package cn.itcast.common.web; import java.io.IOException; import javax.servlet.http.HttpServletResponse; public class ResponseUtils { // 發(fā)送內(nèi)容 public static void render(HttpServletResponse response, String contentType, String text) { response.setContentType(contentType); try { response.getWriter().write(text); } catch (IOException e) { e.printStackTrace(); } } // 發(fā)送的是JSON public static void renderJson(HttpServletResponse response, String text) { render(response, "application/json;charset=UTF-8", text); } // 發(fā)送xml public static void renderXml(HttpServletResponse response, String text) { render(response, "text/xml;charset=UTF-8", text); } // 發(fā)送text public static void renderText(HttpServletResponse response, String text) { render(response, "text/plain;charset=UTF-8", text); } }
搭建另一個(gè)Tomcat,作為圖片服務(wù)器
圖片服務(wù)器Tomcat的設(shè)置 tomcat/conf/web.xml中內(nèi)容更改
<servlet> <servlet-name>default</servlet-name> <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class> <init-param> <param-name>debug</param-name> <param-value>0</param-value> </init-param> <init-param> <param-name>readonly</param-name> <param-value>false</param-value> </init-param> <init-param> <param-name>listings</param-name> <param-value>false</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet>
修改圖片服務(wù)器的Tomcat的端口號(hào)
在BabasprotProject_ImageService項(xiàng)目的webapp目錄下創(chuàng)建upload文件夾
關(guān)于利用Jersey怎么構(gòu)建一個(gè)圖片服務(wù)器問(wèn)題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒(méi)有解開(kāi),可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。
當(dāng)前文章:利用Jersey怎么構(gòu)建一個(gè)圖片服務(wù)器
標(biāo)題鏈接:http://aaarwkj.com/article34/ijhise.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、虛擬主機(jī)、網(wǎng)站改版、網(wǎng)站設(shè)計(jì)、網(wǎng)頁(yè)設(shè)計(jì)公司、品牌網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)