中易网

请问jsp页面如何能获取到上传文件的大小,我想通过获取的大小,判断该文件是否可以被上传,请详细点,谢谢

答案:4  悬赏:70  
解决时间 2021-01-19 06:32
  • 提问者网友:练爱
  • 2021-01-18 13:35
请问jsp页面如何能获取到上传文件的大小,我想通过获取的大小,判断该文件是否可以被上传,请详细点,谢谢
最佳答案
  • 二级知识专家网友:执傲
  • 2021-01-18 14:43
这个,说真的,我还真没有在页面上获得过文件的大小,如果你用的是struts 2 或者是spring ,都可以在配置文件里限制上传文件的大小!不过,你可以试试用js来判断文件的大小追问我是用的struts2,配置文件只能限制上传文件的大小,如果我上传的文件时0字节,我该在什么地方进行判断,该文件不能上传追答这个真不清楚,我觉得只要文件是允许类型内而且大小也在被允许范围内,你管他上传多大的,你说呢
全部回答
  • 1楼网友:低音帝王
  • 2021-01-18 19:13
可以把值获得传给后台,后台再传给jsp页面然后做判断。
String fileName = file.getFileName();//获取名字
int point = fileName.indexOf(".") + 1;
String file_type = fileName.trim().substring(point,
fileName.length());

session.setAttribute("file_name", file_name);
session.setAttribute("file_type", file_type);
  • 2楼网友:西风乍起
  • 2021-01-18 17:53
你可以使用File类的length属性获取文件的大小。你可以使用注释掉的方法,在struts2的action类里使用,判断后前台jsp页面提示用户,如果写action类要测试比较麻烦的。
public class Test {
// 最大文件大小为10M
public static Long MAX_FILE = 10485760L;
public static void main(String[] args) {
File file = new File("D:\\abc.txt");
long fileSize = file.length();
if (fileSize > MAX_FILE)
System.out.println("超出文件大小限制");
// if (file.get(i).length() > MAX_FILE) {
// Struts2Utils.renderHtml("上传文件过大,请重新上传!");
// return null;
// }
}
}
  • 3楼网友:行雁书
  • 2021-01-18 16:14
因权限和安全限制,js是不能获得本地文件大小的,除非安装控件。
jsp获取上传文件大小方法如下:
long size=request.getContentLength() ;
在文件准备上传之前就可以得到其大小。
当然了,在客户端基本上不大可能获取大文件大小的,必须是文件提交上传开始后,在服务端获取得到的,request.getContentLength() ; 可以在接受数据流之前就可以获得当前要上传的文件流大小。 这样你可以在服务端控制文件上传之前是否允许继续接受数据流。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息