我有一個應用程序,可以讓你上傳一些照片。我有一個jsp頁面與表單選擇要上傳的照片是什麼:爲什麼jF中沒有顯示(正確)錯誤「file.too.large」?
蘇比爾-foto.jsp
...
<s:form action="SubirFoto" method="post" enctype="multipart/form-data" theme="bootstrap">
<s:file name="foto" label="Foto" />
<s:submit value="Upload" align="center" />
</s:form>
...
我想,隨着這種形式下,用戶只能上傳特定類型的文件(如jpg,gif ...),並且不要讓用戶上傳大小超過2 MB的照片。
struts.xml的
<action
name="SubirFoto"
class="impl.redex.presentation.profile.upload.SubirFotosAction">
<interceptor-ref name="fileUpload">
<param name="maximumSize">2097152</param>
<param name="allowedTypes">
image/png,image/gif,image/jpeg,image/pjpeg
</param>
</interceptor-ref>
<interceptor-ref name="dentroStack"></interceptor-ref>
<result name="success">/WEB-INF/jsps/foto/foto-subida.jsp</result>
<result name="input">/WEB-INF/jsps/foto/subir-foto.jsp</result>
</action>
的文件上傳的作品完美,除了一兩件事。如果滿足要求,我可以上傳任何照片。如果我嘗試上傳不是照片的文件(例如,純文本文件),應用程序會將我在global.properties
中定義的錯誤輸入到jsp表單的輸入中。
global.properties
struts.messages.error.uploading - No se ha podido subir el fichero
struts.messages.error.file.too.large - El fichero es demasiado grande. El tamaño máximo es de 2MB.
struts.messages.error.content.type.not.allowed - Tipo de fichero no aceptado. Sólo es válido si la foto \
está en formato jpg/jpeg, gif o png.
的問題就來了,如果我嘗試比2 MB上傳圖片越大,應用重定向我蘇比爾-foto.jsp,但它不把任何錯誤在jsp頁面中。
我已經嘗試了一下,如果我把<s:actionerror />
蘇比爾-foto.jsp的時候我上傳的照片大就出現這樣的:
the request was rejected because its size (17224595) exceeds the configured maximum (2097152)
正如你所看到的,這不是錯誤,我已在global.properties
中定義。
爲什麼這兩個不同的錯誤現場錯誤?這是引導插件的問題嗎?或者它是Struts2的錯誤?難道我做錯了什麼?任何幫助表示讚賞,謝謝。
是否將global.properties註冊爲自定義i18n資源?例如,在你的struts.xml(或struts.properties)中:' '? –
是的,我有我的struts.xml行'<常數 \t \t NAME = 「struts.custom.i18n.resources」 \t \t值= 「全球」/>' – Pigueiras