我正在上传图像(png,jpeg,gif(到服务器,我已经使用js在客户端进行了验证
1-文件大小 2-文件类型 但是如何在服务器端实现这种验证呢?,我已经搜索了很多,但无法得到。我正在使用阿帕奇共享文件上传
例如,如果你有一个实现servlet规范3.0的servlet,你可以使用@MultipartConfig
注解和maxFileSize
元素,而不使用Apache Commons File上传。
-
文件大小值:
// 10MB @MultipartConfig(maxFileSize = 1024 * 1024 * 10) public class YourServlet extends HttpServlet {
另请参阅:https://docs.oracle.com/javaee/7/api/javax/servlet/annotation/MultipartConfig.html
仅供参考:您需要在上传文件之前检查文件的大小以避免 DoS 攻击。
-
文件类型值:
private boolean isImageFile(String fileName) { return Arrays.asList("png", "gif", "jpg", "jpeg", "tif", "tiff", "bmp") .contains(org.apache.commons.io.FilenameUtils.getExtension(fileName)); }