在 HTML 文档中 <input type="file"> 标签每出现一次,一个 FileUpload 对象就会被创建。
但是这个是只读的不能用js去改变文件名
有没有什么办法可以新创建一个FileUpload 对象
并把自己要的文件名保存进去然后提交给后台?
[code="java"]
重命名:[/code]
页面上给个重命名的文本框,如果要自己命名,就填写,否则可不填。
然后后台JAVA代码做如下处理:
[code="java"]
DiskFileUpload upload = new DiskFileUpload();
List list = upload.parseRequest(request);
Iterator iter= list.iterator();
while(iter.hasNext())
{
FileItem element = (FileItem) iter.next();
ext = FilenameUtils.getExtension(element.getName());
fileName = FilenameUtils.getName(element.getName());
if(element.isFormField()){
String fieldName = element.getFieldName();
//判断是否需要重命名
if (fieldName.equals("txtRename") && element.getString() !=null && !element.getString().equals("") ){
fileName += "." +ext;
}
}
}
File file = new File("e:/" + saveName);
item.write(file);
[/code]
试试吧~~ 我项目中也有这个应用
可以自己写个浏览器啥的
这个没办法,浏览器的安全性问题嘛,如果不用用户选择文件,你可以程序来搞,那你不是可以把用户的文件默默地上传到服务器上,
对应的 ,都创建多一个隐藏的文本框,把它们都提交,在后台就就可以接收到隐藏文本框的值。
这个只能再传一个文件名过去
让后台执行命令去处理