upsmartload 上传另存为中文有bug

本文介绍了一种用于生成随机文件名的方法,该方法结合当前日期时间与随机数,确保每个文件名唯一。此外,还讨论了解决文件名含中文字符可能导致的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Random r = new Random();
  int ra = r.nextInt();
  Calendar CD = Calendar.getInstance();
  int YY = CD.get(Calendar.YEAR);
  int MM = CD.get(Calendar.MONTH) + 1;
  int DD = CD.get(Calendar.DATE);
  int HH=CD.get(Calendar.HOUR);
  int M=CD.get(Calendar.MINUTE);
  String dt = Integer.toString(YY) + Integer.toString(MM)
    + Integer.toString(DD)+Integer.toString(HH)+Integer.toString(M);
  String prefix = dt + Integer.toString(ra);
  String name = su.getFiles().getFile(0).getFileName();
  int lastdot = name.lastIndexOf(".");
  if (name.length() < 29) {
   pic = prefix + name;
  } else {
/  String name1 = name.substring(0, 25);
  Stirng name2 = name.substring(lastdot);
   pic = prefix + name1+name2;
  }

  com.jspsmart.upload.File file = su.getFiles().getFile(0);
  file.saveAs("uploadfiles/" + pic, su.SAVE_VIRTUAL);

//如果上传的文件中含中文就出会报错.在这里就不取原文件的名字了.

把上面的蓝色的改为
String   name2 = name.substring(lastdot);
     pic = prefix + name2;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值