1. 程式人生 > >SSH 框架下圖片上傳與顯示

SSH 框架下圖片上傳與顯示

這幾天在弄畢設,有幾個需求是要上傳圖片的,看了很多教程,各有各的說法,關鍵點、細節很多說不明白,自己倒騰了幾天,弄出來了,給大家分享一下。

上傳圖片的JSP

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>圖片上傳</title>

  </head>
  
  <body>
   <form action="client_addClient" method="post" enctype="multipart/form-data">
   使用者名稱 :<input type="text" name="client.clientName" id="clientName"><br>
 密碼 :<input type="password" name="client.clientPass" id="clientPass"><br>
 照片 :<input type="file" name="clientImg"/><br>
 <h1> </h1>
 <input type="submit" value="addClient">

   
   </form>
  </body>
</html>

Action

	 private File clientImg;
	 private String clientImgFileName;
	
	 
	public File getClientImg() {
		return clientImg;
	}
	public void setClientImg(File clientImg) {
		this.clientImg = clientImg;
	}
	public String getClientImgFileName() {
		return clientImgFileName;
	}
	public void setClientImgFileName(String clientImgFileName) {
		this.clientImgFileName = clientImgFileName;
	}
	
	public String addClient() throws FileNotFoundException, IOException{
		
		client.setClientImg(clientImgFileName);
		
		 BufferedImage sourceImg =ImageIO.read(new FileInputStream(clientImg)); 
		 //獲取圖片長寬和大小,長寬限制為600*800, 大小2M以內   1M是 1048576 個位元組
		 //能獲取長寬,就是圖片,不能就不是圖片,上傳失敗
		 if(sourceImg.getWidth()<600 && sourceImg.getHeight()<800 && clientImg.length()/1048576<2){

			 if(clientImg!=null){
				//獲取絕對路徑
				String filePath = "C:/Users/Workspaces/MyEclipse 10/AjaxTest/WebRoot/upload/client/";
				//重新命名 UUID+JPG
				String fileName = UUIDUtils.getUUID()+".jpg"; 
				
				 File diskFile = new File(filePath+fileName);
				 
	             // 檔案上傳,使用FileUtils工具類
	             try {
					FileUtils.copyFile(clientImg, diskFile);
					client.setClientImg("upload/client/"+fileName);
				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
	             clientService.addClient(client);
			}
		 		}else{
		 				return "addFail";
		 		}
        return "addClient_succ";
		
	}

將圖片上傳、儲存到本地路徑,將路徑存到資料庫。此時我圖片的路徑是這樣的 upload/client/e814430003d741ed8f0300db7bc13866.jpg 。 upload/client/ 是我的相對路徑,這樣放方便等會拿

並且我的圖片是在本地檢視,其實是在專案工程裡的。upload/client 是WebRoot下的資料夾

圖片顯示

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri='/struts-tags' prefix='s' %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>顯示個人資訊</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->

  </head>
  
  <body>
    <div align="center">
    <table>
    <tr>
    	<th>
   	 	ID
    	</th>
   	 	<th>
   	 	name
    	</th>
    	<th>
    password
    	</th>
    	<th>
    photo
    	</th>
    </tr>
    <tr>
    	<td>
    	${clients.clientId} 
    	</td>
    	<td>
    	${clients.clientName} 
    	</td>
    	<td>
    	${clients.clientPass} 
    	</td>
    	<td>
    	<span style="white-space:pre">   </span>
    	
    	<img width="100" height="100" src="${clients.clientImg}" />
    	
    	</td>
    </tr>
    </table>
  
    
    </div>
  </body>
</html>

像正常取實體類的屬性一樣就可以,因為我的圖片的路徑已經加入了相對於jsp的路徑,所以可以顯示。

以上就是SSH的圖片上傳有顯示了,大家參考。

這樣設定本地上傳有個問題,就是新加圖片上傳後,必須重新整理上傳的資料夾以及重啟伺服器才能顯示,怎麼解決這個問題暫時沒有好辦法。

相關推薦

SSH 框架圖片顯示

這幾天在弄畢設,有幾個需求是要上傳圖片的,看了很多教程,各有各的說法,關鍵點、細節很多說不明白,自己倒騰了幾天,弄出來了,給大家分享一下。上傳圖片的JSP<%@ page language="java" import="java.util.*" pageEncoding

圖片顯示時候的路徑問題

serve nbsp http src png In 分享 圖片 server 上傳時候的要求將圖片放到tomcat下面: 顯示的時候:server.xml 圖片上傳與顯示時候的路徑問題

ssm框架實現圖片顯示(myeclips)

ssm框架實現圖片上傳並顯示 第一步:匯入common-io以及common-fileupload兩個jar包,儘量新一點,老的有可能出錯 第二步:配置圖片上傳儲存的位置,針對myeclips來說,開啟檔案D:\Java\MyEclipse.metadata.me_tcat\co

SSH框架實現圖片

第一步,先寫上傳的jsp頁面upload.jsp,注意:一定要在form裡面加enctype="multipart/form-data" <!--在開頭加上這個,以防萬一--> <%@taglib prefix="s" uri="/struts-tags"%> <

用SpringMVC框架實現圖片下載

1、新建一個Maven webapp專案,引入需要用的夾包,pom.xml檔案的依賴包如下: <dependencies> <!-- 用於生成圖片的縮圖 --> <dependency> <g

SpringMVC框架五:圖片JSON交互

view 方便 for 發布項目 repo 必須 class ebo http 在正式圖片上傳之前,先處理一個細節問題: 每一次發布項目,Tomcat都會重新解壓war包,之前上傳過的圖片會丟失 為了解決這個問題:可以不在Tomcat下保存圖片,而是另找一個目錄。 上傳

django顯示圖片

功能:從後臺admin上傳圖片,顯示到前端頁面 1、models.py 新增:  img = models.ImageField(upload_to='./img/', blank=True)  class Post(models.Model):     title

spring boot 圖片顯示

首先描述一下問題,spring boot 使用的是內嵌的tomcat, 所以不清楚檔案上傳到哪裡去了, 而且spring boot 把靜態的檔案全部在啟動的時候都會載入到classpath的目錄下的,所以上傳的檔案不知相對於應用目錄在哪,也不知怎麼寫訪問路徑合適,對於新手

SSM學習記錄(八)——圖片顯示

2018.5.9僅為個人理解 不足之處歡迎指正~本文以“上傳與預覽使用者頭像”的形式實現圖片的上傳與顯示上傳的位置為專案檔案內部圖片儲存位置:webapp下的userhead資料夾第一步:匯入所需包 <dependency> <groupId>

ssh框架 使用struts圖片

@SuppressWarnings("serial") public class Add_action extends ActionSupport {     private ImgServlet imgServlet;     //圖片詳細     private String  detailed;   

js實現圖片實時顯示

input res window splay ack 顯示 style rip 是否 在開發的時候經常遇到這樣的需求,用戶在上傳圖片的時候,想要看到自己上傳的圖片是否正確,這時候需要把用戶上傳的圖片及時顯示出來,然後等他點擊上傳的時候,程序再執行上傳到服務器。 <!

django實現圖片顯示

代碼 ngs 文件路徑 ont 添加 pac pre bubuko contex 首先安裝pillow模塊 在models.py下設置 class Notices(models.Model): NoticeCategory=models.CharField(max_

ssm 框架文件功能

quest let mail body ring upload gem 擴展 stream 這兩天在弄上傳文件(圖片或視頻)的功能 ,特記錄於此,其核心是字符串的拼接路徑。要求是:服務器上(Tomcat為例)保存上傳的圖片或視頻,數據庫中插入相對路徑。數據庫中的A表設置一個

struts2圖片下載

package com.zking.five.web; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInpu

javascript實現圖片實時顯示圖片

我們平時會用到圖片上傳要求上傳的圖片要實時顯示,那麼下面就是我的方法 HTML程式碼如下 <input type="file" name="file" onchange="showImg(this)" /> <img id=

圖片頁面顯示

<input type="file" onchange="previewFile()"><br> <img src="" height="200" alt="Image preview..."> function previewFile() { v

關於springboot專案jar包執行時圖片顯示問題

spring boot打成jar包後(比如jar的名字叫a.jar),執行時輸入命令: java -jar  d:\a.jar 就可以運行了。那麼程式中要求的比較大的圖片檔案將如何辦呢? 只需要將它們同時放在與jar包相同的檔案路經下就可以,但圖片資料夾的名字不能隨便取哦!因為

5行程式碼實現微信小程式圖片騰訊免費5G儲存空間的使用

本文介紹瞭如何在微信小程式開發中使用騰訊官方提供的雲開發功能快速實現圖片的上傳與儲存,以及介紹雲開發的 5G 儲存空間的基本使用方法,這將大大提高微信小程式的開發效率,同時也是微信小程式系列教程的視訊版更新的文字版本摘要。 此文為 「60 節實戰課微信小程式開發視訊教程」 的第 51 小節

阿里雲伺服器 雲物件儲存OOS(二) ---圖片讀取demo

上一篇講解了無需程式碼操作的阿里OOS雲物件儲存 http://blog.csdn.net/u014520797/article/details/53945912 1、SDK下載,不下載也可以,文章最後有demo,demo裡面有jar包 https://help.aliyun.com/d

Springmvc傳單張圖片、多圖片顯示圖片

1、在pom加入jar: <dependency> <groupId>commons-fileupload</groupId> <artifac