国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > Java > 正文

Java上傳文件圖片到服務器的方法

2024-07-13 10:16:19
字體:
來源:轉載
供稿:網友

這里我記錄一個比較簡單方便操作的JAVA上傳文件圖片到服務器并且保存,具體內容如下

首先是頁面html的   我這是提交一個文件和類型

<div style="border: 1px solid red;">   我是添加一張臨時圖片得到微信的media_id保存數據庫!   <form action="xxxxxxxxm"   enctype="multipart/form-data" method="post">   <div style="display: none;">    <input type="text" value="IMAGE" name="type"/>   </div>   上傳圖片:<input type="file" name="file"    onchange="previewImage(this, 'prvid')" multiple="multiple"><br />   <input type="submit" value="提交" />   </form>   <div id="prvid">預覽容器</div>  </div> 

預覽圖片js

function previewImage(file, prvid) {  /* file:file控件  * prvid: 圖片預覽容器  */  var tip = "Expect jpg or png or gif!"; // 設定提示信息  var filters = {  "jpeg" : "/9j/4",  "gif" : "R0lGOD",  "png" : "iVBORw"  }  var prvbox = document.getElementById(prvid);  prvbox.innerHTML = "";  if (window.FileReader) { // html5方案  for (var i = 0, f; f = file.files[i]; i++) {   var fr = new FileReader();   fr.onload = function(e) {   var src = e.target.result;   if (!validateImg(src)) {    alert(tip)   } else {    showPrvImg(src);   }   }   fr.readAsDataURL(f);  }  } else { // 降級處理   if (!//.jpg$|/.png$|/.gif$/i.test(file.value)) {   alert(tip);  } else {   showPrvImg(file.value);  }  }   function validateImg(data) {  var pos = data.indexOf(",") + 1;  for ( var e in filters) {   if (data.indexOf(filters[e]) === pos) {   return e;   }  }  return null;  }   function showPrvImg(src) {  var img = document.createElement("img");  img.src = src;  prvbox.appendChild(img);  } } 

之后就是后臺得到

@RequestMapping(params = "method=addCircle") public String addCircle(HttpServletResponse response,HttpServletRequest request) throws IOException {  request.setCharacterEncoding("utf-8");  response.setContentType("text/html;charset=utf-8");    String path = request.getSession().getServletContext().getRealPath(   "/BackstageShoppingWebsite/images/addCircleimage");//保存的服務器地址    Map<String, String> map = Upload   .upload(request, 1024 * 1024 * 10, path);    String file= map.get("file"); // 名稱  String image = map.get("type"); // 圖像  String newFile = map.get("newFile");// 地址   return null;  } 

好了現在重點就是看Upload 這個類了 這個類基本是封裝好了的,需要 加的東西可以自己取看看然后修改,然后這個類用的是cos.jar包

package com.web.weixin.bean; import java.io.File; import java.io.IOException; import java.util.Date; import java.util.HashMap; import java.util.Map; import javax.servlet.http.HttpServletRequest;  import com.oreilly.servlet.multipart.FilePart; import com.oreilly.servlet.multipart.MultipartParser; import com.oreilly.servlet.multipart.ParamPart; import com.oreilly.servlet.multipart.Part;   public class Upload {   public static Map<String, String> upload(HttpServletRequest request,   int maxSize, String path) {    //以map形式保存數據 key對應保存的是獲取界面上的name名稱 value保存的是獲取界面上的name對應的值  Map<String, String> map = new HashMap<String, String>();  Part part = null;  try {   MultipartParser mrequest = new MultipartParser(request, maxSize);   mrequest.setEncoding("utf-8");   //遍歷所有的part組   while ((part = mrequest.readNextPart()) != null) {   if (part.isFile()) { //判斷是否是文件     FilePart filepart = (FilePart) part;//轉化成文件組     String fileName = filepart.getFileName();//得到文件名     if (fileName != null && fileName.length() > 0) {    // 取得擴展名    String fileExtName = fileName.substring(     fileName.lastIndexOf(".") + 1).toLowerCase();    // 只上傳圖片 //判斷圖片上傳的格式是否符合 后綴名是否有效    if (fileExtName.equalsIgnoreCase("jpeg")     || fileExtName.equalsIgnoreCase("png")||     fileExtName.equalsIgnoreCase("jpg")     || fileExtName.equalsIgnoreCase("gif")     || fileExtName.equalsIgnoreCase("ico")     || fileExtName.equalsIgnoreCase("bmp")     || fileExtName.equalsIgnoreCase("flv")     || fileExtName.equalsIgnoreCase("mp4")     || fileExtName.equalsIgnoreCase("mp3")) {          /*String newFileName = new Date().getTime() + "."+ fileExtName;    //重新改文件名 文件名+擴展名 */            String newFileName =new Date().getTime() +fileName;//不改圖片名字         String newPath = path + "/" + newFileName; //文件處理文件上傳的路徑     File newFile = new File(newPath);         filepart.writeTo(newFile); //將文件真正寫入到對應的文件夾中         //filepart.getName() 得到 request 要接收的參數的名字         map.put(filepart.getName(), newFileName);//把文件信息保存到map中     map.put("newFile", newFile.toString());    } else {     map.put("geshi", "geshi");     continue;    }// 說明上傳的不是圖片    } else {     map.put("yes","yes");     continue; // 說明沒有選擇上傳圖片    }    } else if (part.isParam()) { //判斷是否是參數    ParamPart paramPart = (ParamPart) part;    map.put(paramPart.getName(), paramPart.getStringValue());    }   }   } catch (IOException e) {   e.printStackTrace();  }  return map;  }  } 

cos.jar包下載,點擊打開鏈接

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 兰考县| 个旧市| 资源县| 泾源县| 安仁县| 临猗县| 上饶市| 县级市| 武宁县| 如皋市| 岢岚县| 四川省| 崇仁县| 沙田区| 罗江县| 奈曼旗| 镶黄旗| 梁山县| 黔西县| 霍山县| 包头市| 景洪市| 无极县| 潢川县| 永宁县| 集安市| 沂水县| 浏阳市| 元江| 北海市| 南川市| 若尔盖县| 大安市| 全椒县| 临城县| 青神县| 霍山县| 岗巴县| 永春县| 陵水| 甘洛县|