1.爲了記錄用戶的頭像地址,可以使用數據庫保存用戶的頭像地址,命名規則爲用戶名+後綴名,此處用戶名爲唯一。這裏就不寫具體代碼的實現了。
2.爲圖片增加過濾
爲了避免圖片佔據過多的服務器空間,需要在上傳時限制圖片的尺寸和大小,以及類型。
爲了簡單,這裏利用struts2 攔截器實現文件過濾
2.1action配置文件
在action配置文件中增加fileUpload和defaultStack攔截器,而且fileUpload攔截器必須配置在defaultStack攔截器棧之前。在fileUpload攔截器中配置允許圖片的大小和類型
<action name="uploadPro" class="com.b2d2.account.action.UploadAction">
<interceptor-ref name="fileUpload">
<param name="allowedTypes">image/png,image/gif,image/jpeg</param>
<param name="maximumSize">500000</param>
</interceptor-ref>
<interceptor-ref name="defaultStack"></interceptor-ref>
<param name="savePath">upload</param>
<result name="success">/Views/account/profile.jsp</result>
<result name="input">/Views/account/upload.jsp</result>
</action>
2.2JSP文件
在JSP文件中增加<s:fielderror>標籤,顯式輸出上傳失敗的校驗提示。
<s:form action="uploadPro" enctype="multipart/form-data" theme="simple">
<s:file name="upload"></s:file><br/>
<s:fielderror></s:fielderror>
<s:submit value="上傳"></s:submit>
</s:form>