何圆
管理员
管理员
  • UID3
  • 粉丝18
  • 关注6
  • 发帖数291
  • 社区居民
  • 忠实会员
  • 原创写手
阅读:11384回复:2

上传下载时如何获取文件大小?

楼主#
更多 发布于:2016-10-20 18:42
使用核格上传或者下载文件时,如何获取文件的大小?
王毅成
骑士
骑士
  • UID103
  • 粉丝2
  • 关注0
  • 发帖数30
  • 社区居民
沙发#
发布于:2016-10-25 10:07
在上传完成后的回调里调用自定义java,根据返回的文件信息,获取文件大小
何圆
管理员
管理员
  • UID3
  • 粉丝18
  • 关注6
  • 发帖数291
  • 社区居民
  • 忠实会员
  • 原创写手
板凳#
发布于:2016-10-26 09:17
在上传构件回调方法后使用call调用自定义java,根据文件名以及上传路径获取文件信息。

图片:QQ截图20161026093449.png



java代码

package demo.file;

import java.io.File;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;

import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.remoting.WebRemote;

import com.sunsheen.jfids.system.config.Configs;

@Name("GetSize")
public class GetSize {
@WebRemote
public Map getFileInfo(Map<String,Object> map) {
Map retMap = new HashMap();
String server_name = (String) map.get("server_name");//文件名称
String type = server_name.substring(server_name.lastIndexOf('.') + 1,
server_name.length());

String file = Configs.get("File.path") + server_name;//File.path为上传时的配置路径
System.out.println(file);
String size = null;
File f = new File(file);
if (f.exists()) {
DecimalFormat df = new DecimalFormat("0.00");
size = df.format(f.length() / 1024.0 / 1024.0);
}
Date date = new Date();// 获取时间
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
retMap.put("type", type);
retMap.put("size", size + " M");
retMap.put("file_date", sdf.format(date));
System.out.println(retMap);
return retMap;
}
}
游客

返回顶部