1. 程式人生 > >SSH框架實現圖片上傳

SSH框架實現圖片上傳

第一步,先寫上傳的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-licenseAction類,注意:定義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/>

嗯,基本就完成了,其實我在網上找了許多的教程,但是很少有提及上面說的兩點注意的,希望我的帖子對你有幫助

歡迎留言交流!!!