最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java實(shí)現(xiàn)多圖片上傳功能

 更新時(shí)間:2019年08月23日 16:21:44   作者:齊天二圣  
這篇文章主要為大家詳細(xì)介紹了java多圖片同步上傳功能的實(shí)現(xiàn)方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了java實(shí)現(xiàn)多圖片上傳功能的具體代碼,供大家參考,具體內(nèi)容如下

開發(fā)環(huán)境:jdk1.7,MyEclipse10
框架用的是spring。用到了maven工具(maven的包百度下就可以)。

四步完成,全部復(fù)制改參數(shù)就可以

第一步:先在Spring中對(duì)圖片進(jìn)行限制

<!-- SpringMVC上傳文件時(shí),需要配置MultipartResolver處理器 -->
 <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
    <property name="defaultEncoding" value="UTF-8"/> 
<!-- 指定所上傳文件的總大小不能超過500KB。注意maxUploadSize屬性的限制不是針對(duì)單個(gè)文件,而是所有文件的容量之和。
這個(gè)的大小是以字節(jié)為單位的,要多大自己算好了再設(shè)置-->
   <property name="maxUploadSize" value="500000"/>
   <!-- 最大內(nèi)存大小 (10240)-->
   <property name="maxInMemorySize" value="40960" />
 </bean>

第二步:寫jsp頁(yè)面

<%@ page language="java" contentType="text/html; charset=UTF-8"
 pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script type="text/javascript" src="../js/jquery-1.7.1.min.js"></script>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>上傳圖片</title>
</head>
<body>
 <form action="filesUpload" method="POST" name="xiangmu" id="xiangmu"
 enctype="multipart/form-data">
 <table>
  <tr>
  <td>身份證圖片上傳:</td>
  <td><input type=file name="myfiles" id="doc"
   onchange="showImage();">
  </td>
  <div id="localImag">
   <img id="preview" width=-1 height=-1 style="diplay:none" />
  </div>
  </tr>
  <tr>
  <td>公司運(yùn)營(yíng)情況:</td>
  <!-- 為了實(shí)現(xiàn)張圖片上傳,上傳框這個(gè)name要都一樣 -->
  <td><input type="file" name="myfiles" id="doc1"></td>
  <td>   
  </td>
  </tr>
  <tr>
  <td><input type="submit" value="提交" />
  </td>
  </tr>
 </table>
 </form>
</body>

</html>

注意:

多圖上傳,上傳框的name要都一樣,等于發(fā)送了一個(gè)MultipartFile[]數(shù)組。
不僅支持上傳圖片,還支持多文件上傳。
form的enctype=“multipart/form-data”,這個(gè)是上傳文件必須的。

第三步:如果你要實(shí)現(xiàn)頁(yè)面展現(xiàn)圖片的功能,就在jsp頁(yè)面添加下面的方法:

<script type="text/javascript">
 function showImage() {
 var docObj = document.getElementById("doc");
 var imgObjPreview = document.getElementById("preview");
 if (docObj.files && docObj.files[0]) {
  //火狐下,直接設(shè)img屬性 
  imgObjPreview.style.display = 'block';
  imgObjPreview.style.width = '300px';
  imgObjPreview.style.height = '120px';
  //imgObjPreview.src = docObj.files[0].getAsDataURL(); 
  //火狐7以上版本不能用上面的getAsDataURL()方式獲取,需要一下方式 
  imgObjPreview.src = window.URL.createObjectURL(docObj.files[0]);
 } else {
  //IE下,使用濾鏡 
  docObj.select();
  var imgSrc = document.selection.createRange().text;
  var localImagId = document.getElementById("localImag");
  //必須設(shè)置初始大小 
  localImagId.style.width = "250px";
  localImagId.style.height = "200px";
  //圖片異常的捕捉,防止用戶修改后綴來偽造圖片 
  try {
  localImagId.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale)";
  localImagId.filters
   .item("DXImageTransform.Microsoft.AlphaImageLoader").src = imgSrc;
  } catch (e) {
  alert("您上傳的圖片格式不正確,請(qǐng)重新選擇!");
  return false;
  }
  imgObjPreview.style.display = 'none';
  document.selection.empty();
 }
 return true;
 }
</script>

注意:這個(gè)方法只能上傳一張來顯示,除非你設(shè)置多個(gè)div?;蛘撸赫故径鄠€(gè)圖片可以找找其他方法。

第四步:后臺(tái)接收

@RequestMapping("/filesUpload")
 //requestParam要寫才知道是前臺(tái)的那個(gè)數(shù)組
 public String filesUpload(@RequestParam("myfiles") MultipartFile[] files,
  HttpServletRequest request) {
 List<String> list = new ArrayList<String>();
 if (files != null && files.length > 0) {
  for (int i = 0; i < files.length; i++) {
  MultipartFile file = files[i];
  // 保存文件
  list = saveFile(request, file, list);
  }
 }
 //寫著測(cè)試,刪了就可以
 for (int i = 0; i < list.size(); i++) {
  System.out.println("集合里面的數(shù)據(jù)" + list.get(i));
 }
 return "index";//跳轉(zhuǎn)的頁(yè)面
 }

 private List<String> saveFile(HttpServletRequest request,
  MultipartFile file, List<String> list) {
 // 判斷文件是否為空
 if (!file.isEmpty()) {
  try {
  // 保存的文件路徑(如果用的是Tomcat服務(wù)器,文件會(huì)上傳到\\%TOMCAT_HOME%\\webapps\\YourWebProject\\upload\\文件夾中
  // )
  String filePath = request.getSession().getServletContext()
   .getRealPath("/")
   + "upload/" + file.getOriginalFilename();
  list.add(file.getOriginalFilename());
  File saveDir = new File(filePath);
  if (!saveDir.getParentFile().exists())
   saveDir.getParentFile().mkdirs();

  // 轉(zhuǎn)存文件
  file.transferTo(saveDir);
  return list;
  } catch (Exception e) {
  e.printStackTrace();
  }
 }
 return list;
 }

注意:upload是文件夾,自己新建下再運(yùn)行,免得出錯(cuò)。

結(jié)束,全部復(fù)制就可以實(shí)現(xiàn)了。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • springboot對(duì)壓縮請(qǐng)求的處理方法

    springboot對(duì)壓縮請(qǐng)求的處理方法

    這篇文章主要介紹了springboot對(duì)壓縮請(qǐng)求的處理,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-05-05
  • java的JsonObject對(duì)象提取值方法

    java的JsonObject對(duì)象提取值方法

    下面小編就為大家分享一篇java的JsonObject對(duì)象提取值方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • Spring MVC Annotation驗(yàn)證的方法

    Spring MVC Annotation驗(yàn)證的方法

    這篇文章主要介紹了Spring MVC Annotation驗(yàn)證的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-03-03
  • SpringBoot如何處理@KafkaListener消息

    SpringBoot如何處理@KafkaListener消息

    Spring通過KafkaMessageListenerContainer、ConcurrentMessageListenerContainer等組件實(shí)現(xiàn)Kafka消息的監(jiān)聽和處理,并通過@KafkaListener注解將業(yè)務(wù)邏輯與Kafka消費(fèi)者連接起來,Spring?Boot自動(dòng)配置Kafka相關(guān)組件,簡(jiǎn)化了Kafka的使用
    2024-12-12
  • Java中的包裝類是什么

    Java中的包裝類是什么

    這篇文章主要介紹了Java中的包裝類是什么,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • javaWeb連接數(shù)據(jù)庫(kù)實(shí)現(xiàn)簡(jiǎn)單登陸注冊(cè)功能的全過程

    javaWeb連接數(shù)據(jù)庫(kù)實(shí)現(xiàn)簡(jiǎn)單登陸注冊(cè)功能的全過程

    初學(xué)javaWeb,老師留下一小作業(yè),用JAVA實(shí)現(xiàn)與服務(wù)器端交互,實(shí)現(xiàn)登錄和注冊(cè)功能,下面這篇文章主要給大家介紹了關(guān)于javaWeb連接數(shù)據(jù)庫(kù)實(shí)現(xiàn)簡(jiǎn)單登陸注冊(cè)功能的相關(guān)資料,需要的朋友可以參考下
    2022-06-06
  • MyBatis批量插入數(shù)據(jù)的三種方法實(shí)例

    MyBatis批量插入數(shù)據(jù)的三種方法實(shí)例

    由于項(xiàng)目需要生成多條數(shù)據(jù),并保存到數(shù)據(jù)庫(kù)當(dāng)中,項(xiàng)目使用了Spring+MyBatis,所以打算使用MyBatis批量插入,應(yīng)該要比循環(huán)插入的效果更好,下面這篇文章主要給大家介紹了關(guān)于MyBatis批量插入數(shù)據(jù)的三種方法,需要的朋友可以參考下
    2021-10-10
  • 詳解Spring的@Value作用與使用場(chǎng)景

    詳解Spring的@Value作用與使用場(chǎng)景

    這篇文章主要介紹了詳解Spring的@Value作用與使用場(chǎng)景,Spring為大家提供許多開箱即用的功能,@Value就是一個(gè)極其常用的功能,它能將配置信息注入到bean中去,需要的朋友可以參考下
    2023-05-05
  • Java圖形界面超實(shí)用使用教程

    Java圖形界面超實(shí)用使用教程

    在Java編程中圖形界面應(yīng)用程序是非常常見和重要的一部分,下面這篇文章主要給大家介紹了關(guān)于Java圖形界面的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-01-01
  • Java應(yīng)用程序的CPU使用率飆升原因詳細(xì)分析

    Java應(yīng)用程序的CPU使用率飆升原因詳細(xì)分析

    這篇文章主要介紹了Java應(yīng)用程序的CPU使用率飆升原因詳細(xì)分析,在 Java 中,我們使用 JVM 進(jìn)行線程調(diào)度,所以一般來說,線程的調(diào)度有兩種模式:分時(shí)調(diào)度和搶占式調(diào)度,線程和進(jìn)程在阻塞或者等待時(shí),都不會(huì)使用 CPU 資源,需要的朋友可以參考下
    2024-01-01

最新評(píng)論

治县。| 伊金霍洛旗| 襄城县| 文水县| 土默特右旗| 临城县| 清镇市| 怀柔区| 应城市| 霍林郭勒市| 遵义市| 桑植县| 雷州市| 理塘县| 通辽市| 延边| 永吉县| 永城市| 富顺县| 玛曲县| 开江县| 洛浦县| 迁西县| 延安市| 宜丰县| 桂林市| 万宁市| 蒲江县| 赣榆县| 尖扎县| 五家渠市| 色达县| 闻喜县| 合水县| 射阳县| 弥勒县| 大余县| 玛多县| 肥城市| 乌海市| 慈利县|