SSH框架實現圖片上傳
阿新 • • 發佈:2019-01-13
第一步,先寫上傳的jsp頁面upload.jsp,注意:一定要在form裡面加enctype="multipart/form-data"
<!--在開頭加上這個,以防萬一--> <%@taglib prefix="s" uri="/struts-tags"%> <form name="frm" method="post" action="driver-license" enctype="multipart/form-data"> <input type="file" name="frontPath1"/> <button type="submit" class="panel-button btn btn-info">上傳</button> </form>
第二步,寫對應的driver-license的Action類,注意:定義realPath1地址時你必須注意,如果是在本機上執行,未在伺服器(這裡說的伺服器是騰訊雲這種買的,不是Tomcat)上執行,地址寫本機硬碟的絕對路徑,千萬不能寫在當前專案目錄下,否則你根本無法把上傳的圖片儲存到你指定的目錄
public class DriverLicenseAction extends ActionSupport{ //frontPath1ContentType是固定格式,是由前一步enctype="multipart/form-data"呼叫的 private String frontPath1ContentType; /*frontPath1FileName是固定格式,是由前一步enctype="multipart/form-data"呼叫的,用於獲 取上傳的檔名,你也可以對frontPath1FileName進行賦值,修改儲存後的圖片名字*/ private String frontPath1FileName; private File frontPath1; //省略get和set方法,這裡使用的是註解的方式 @Action(value = "driver-license", results = { @Result(name = "licenseUpdate", location = "hello.jsp")}) public String LicenseActionUpdate() throws IOException { /*這一步你必須注意,如果是在本機上執行,未在伺服器上執行,地址寫本機硬碟的絕對路 徑,千萬不能寫在當前專案目錄下,否則你根本無法把上傳的圖片儲存到你指定的目錄,這裡的地址可 以根據個人修改*/ String realPath1 = "D:\\eclipse-workspace\\image\\front"; File file1 = new File(realPath1, frontPath1FileName); FileUtils.copyFile(frontPath1, file1); return "licenseUpdate"; } }
第三步,寫顯示的hello.jsp頁面
<!--頭部加入這個-->
<%@taglib prefix="s" uri="/struts-tags"%>
<img src="<s:property value="realPath1 + frontPath1FileName"/>"/><br/>