我使用jspSmartUploadl来上传文件,但如何上传的同时又重新更换文件名呢?

36397 2004-05-07 05:10:08
我使用jspSmartUploadl来上传文件,但如何上传的同时又重新更换文件名呢?
请高手一定要帮忙。
...全文
98 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
36397 2004-05-08
  • 打赏
  • 举报
回复
up
ln_boy 2004-05-08
  • 打赏
  • 举报
回复
//out.println("<br>上传的文件的名字是"+filename);
lastuploadfile.put("uploadfilename", filename);

filename = nowtime + String.valueOf(System.currentTimeMillis()) + "." + fileextname;
//out.println("<br>即将保存的文件名字是"+filename);
mySmartUpload.getFiles().getFile(i).saveAs(savepath+filename);
//mySmartUpload.getFiles().getFile(i).saveAs(filename, mySmartUpload.SAVE_VIRTUAL);
// out.println("<br>上传后的文件的名字是"+uploadpath +filename);
lastuploadfile.put("savedfilename", uploadpath +filename);

filecount++;
msg = "11";

zyb1235 2004-05-08
  • 打赏
  • 举报
回复
看看萧湘上传
内又改名
稍加改动就
ok!按时间命名精确到微妙,就没同名的了。
我就是用这个方法,
中文文件名上传也自动改名很方便。
还符合html的规则。
前台生成静态也可以正常运行。
36397 2004-05-08
  • 打赏
  • 举报
回复
up
36397 2004-05-08
  • 打赏
  • 举报
回复
是不是有一个另存为的指令呢,
如果有又该如何写代码呢?
viano 2004-05-08
  • 打赏
  • 举报
回复


太多了 不用读!
原来的save 里面有个 getFilename() 去掉!
save 是 保存称其他的名字 就可以了!

注意后缀!
36397 2004-05-08
  • 打赏
  • 举报
回复
哇!万分感谢,让我细细读来。
ln_boy 2004-05-08
  • 打赏
  • 举报
回复
uploadfile.jsp
-------------------------------------------

<%@ page language = "java" contentType = "text/html; charset=gb2312" errorPage = "errorpage.jsp"
pageEncoding = "GB2312"%>
<%@ page import = "com.jspsmart.upload.*,java.util.Calendar"%>

<%
response.setHeader("Pragma", "No-cache"); //HTTP 1.1

response.setHeader("Cache-Control", "no-cache"); //HTTP 1.0
response.setHeader("Expires", "0"); //防止被proxy
request.setCharacterEncoding("GB2312"); //设置编码
%>

<jsp:useBean id = "mySmartUpload" scope = "page" class = "com.jspsmart.upload.SmartUpload"/>

<jsp:useBean id = "uploadfilelist" scope = "session" class = "java.util.ArrayList"/>

<jsp:useBean id = "lastuploadfile" scope = "session" class = "java.util.Hashtable"/>

<%

int year, month, day;
Calendar nowDate = Calendar.getInstance();
StringBuffer strDate = new StringBuffer();
year = nowDate.get(Calendar.YEAR);
//nowDate.setTimeZone();
month = nowDate.get(Calendar.MONTH) + 1;
day = nowDate.get(Calendar.DAY_OF_MONTH);

strDate.append(year);

if (month > 9)
strDate.append(month);

else
strDate.append("0" + month);

if (day > 9)
strDate.append(day);

else
strDate.append("0" + day);

String savepath = "D:\\work\\root\\resources\\upload\\";
String uploadpath = "/resources/upload/";
String nowtime = strDate.toString();
//out.println("现在的日期是"+nowtime);
String filename = "";
String fileextname = "";
String msg = null;
int filecount = 0;
mySmartUpload.initialize(pageContext);
mySmartUpload.upload();

try
{
for (int i = 0; i < mySmartUpload.getFiles().getCount(); i++)
{
filename = mySmartUpload.getFiles().getFile(i).getFileName();

fileextname = mySmartUpload.getFiles().getFile(i).getFileExt();

if (filename == null || "".equals(filename))
{
continue;
}

else
{
if (fileextname.equals("jsp"))
{//禁止上传jsp文件.
msg = "13";

break;
//response.sendRedirect("index.jsp?opid=66&msg=13");
}

else
{
//out.println("<br>上传的文件的名字是"+filename);
lastuploadfile.put("uploadfilename", filename);

filename = nowtime + String.valueOf(System.currentTimeMillis()) + "." + fileextname;
//out.println("<br>即将保存的文件名字是"+filename);
mySmartUpload.getFiles().getFile(i).saveAs(savepath+filename);
//mySmartUpload.getFiles().getFile(i).saveAs(filename, mySmartUpload.SAVE_VIRTUAL);
// out.println("<br>上传后的文件的名字是"+uploadpath +filename);
lastuploadfile.put("savedfilename", uploadpath +filename);
java.util.Hashtable uploadfileinfo = new java.util.Hashtable(lastuploadfile);
uploadfilelist.add(uploadfileinfo);
filecount++;
msg = "11";
}
}
}
// count = mySmartUpload.save("/upload", mySmartUpload.SAVE_VIRTUAL);

}
catch (Exception e)
{
msg = "12";
// out.println("<b>Wrong selection : </b>" + e.toString());

}

// Display the number of files uploaded
// out.println(filecount + " file(s) uploaded.");
response.sendRedirect("index.jsp?opid=66&msg=" + msg);
%>
36397 2004-05-08
  • 打赏
  • 举报
回复
能否再详细点,我试了一下,还是不行
filename如何定义呢?
fileextname如何定义呢?
36397 2004-05-07
  • 打赏
  • 举报
回复
这样操作是否麻烦了一点,有无更简单的方法。
pleonheart 2004-05-07
  • 打赏
  • 举报
回复
把已经上传了的文件名记录数据库,上传文件前查询数据库,碰到同名的更改文件名

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧