您的位置:首页 > 编程语言 > Java开发

【Struts】服务器文件的上传和下载

2015-11-17 20:08 633 查看

Java中获得文件的文件后缀

import java.io.*;
public class FileTest{
public static void main(String args[]){
File f =new File("TileTest.doc");
String fileName=f.getName();
String prefix=fileName.substring(fileName.lastIndexOf(".")+1);
System.out.println(prefix);
}
}


struts.xml中上传文件类型的限制

<!-- 允许后缀名为png,bmp,jpg,doc,xls的文件上传 -->
<param name="allowedExtensions">
png,bmp,jpg,doc,xls
</param>


使用Struts文件上传功能,我们可以使用”文件类型“和”文件后缀名“两者中的一个来控制上传文件的类型/后缀名。但是,allowedTypes的优先级别高于allowedExtensions,  如果配置了allowedTypes则allowedExtensions将不再起效。
如果我们要利用allowedExtensions参数来控制上传文件的后缀名,则不能配置allowedTypes参数。
否则,如果allowedTypes参数有配置,那么allowedExtensions参数将不会再起效。


详情:http://blog.csdn.net/smcwwh/article/details/7349449

struts.xml上传文件大小的限制

<struts>
<constant name="struts.multipart.maxSize" value="50000000" />

<package ...
<action ...
<interceptor-ref ...
<!-- 配置允许上传的文件大小,单位字节 -->
<param name="maximumSize">40000000</param>


struts.multipart.maxSize和fileUpload拦截器的maximumSize属性分工不同,总结如下:

1.struts.multipart.maxSize掌控整个项目所上传文件的最大的Size。

  超过了这个size,后台报错,程序处理不了如此大的文件。

  fielderror里面会有如下的提示: the request was rejected because its size (16272982) exceeds the configured maximum (9000000)

2.fileUpload拦截器的maximumSize属性必须小于struts.multipart.maxSize的值。

  struts.multipart.maxSize默认2M,当maximumSize大于2M时,必须设置struts.multipart.maxSize的值大于maximumSize。

3.当上传的文件大于struts.multipart.maxSize时,系统报错 当上传的文件在struts.multipart.maxSize和maximumSize之间时,系统提示: File too large: file "MSF的概念.ppt" "upload__5133e516_129ce85285f__7ffa_00000005.tmp" 6007104 当上传的文件小于maximumSize,上传成功。

详情:/article/4988250.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: