下载时如何修改文件名称?

nccxl 2007-01-19 05:02:05
比如服务器上一个文件名称为“1234.rar”,希望下载时文件名称改为“文件.rar”。
请教各位如何实现。
...全文
2323 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
Y2010M11D24 2010-12-13
  • 打赏
  • 举报
回复
路过,学习了,希望有用。
nccxl 2007-01-22
  • 打赏
  • 举报
回复
非常感谢liaohaiying(大菜),我试试看,
liaohaiying 2007-01-22
  • 打赏
  • 举报
回复
所以我的需求是最好不要在服务器端处理,能客户端处理最好。
========================
你以为直接点一个链接下载就不经过服务器端了吗,不是的,点一下链接还是对服务器端进行请求啊,还是要服务器端进行处理的,


用这个方法一样的,当用户点这个链接然后服务器端调用这个方法找到这个文件,然后就出现IE的保存框,不过这个方法就是把保存框中的文件名框里的文件名改为destFileName,也就是你设置的文件名,懂了吗
nccxl 2007-01-22
  • 打赏
  • 举报
回复
谢谢楼上liaohaiying(大菜)兄弟的解答。我的上传是用了自己的一个组件,下载的时候希望使用普通的IE下载方式。也就是给给链接点一下,出现IE的保存框。

目前因为上传的时候做了处理,文件名称都是编号,所以下载的时候需要转成名字。
所以我的需求是最好不要在服务器端处理,能客户端处理最好。
nccxl 2007-01-22
  • 打赏
  • 举报
回复
非常感谢各位,已经搞定了。使用了部分jspSmartUpload组件的源码,还是很好用的。
nccxl 2007-01-20
  • 打赏
  • 举报
回复
回楼上各位我的文件是保存在文件夹里的。文件的名称很可能会重复,所以我在保存文件的时候用唯一编号进行命名,数据库中保存文件的本来名称。现在需要在下载的时候恢复文件的名称来下载,否则用户就不知道下载的文件到底是什么名称了。

这里请教一下hanpoyangtitan(韩波洋) ,如果在下载时自动修改名称呢?
liaohaiying 2007-01-20
  • 打赏
  • 举报
回复
如果你的文件是以二进制形式存入数据库的,那么下载时是需要读取数据库再生成文件,那么在生成文件的时候就可以改文件名
如果你的文件不是存在数据库,只是在数据库存入这个文件的路径和原文件名,那么你又何必把文件名改为统一编号呢,数据库中已经有编号了,把统一编号放在数据库,从数据库统一管理文件好了,另外还有一个办法就是在上传时把原来的文件名前加统一编号作为新文件名这样又要原文件名又有编号
什么都不能 2007-01-20
  • 打赏
  • 举报
回复
.....
下载时应该有保存路径,可以修改文件名,所以楼主的想法。
用vbs试一下,现在有很多流氓网站都用vbs写脚本自动下载程序,用导Wscript
nccxl 2007-01-20
  • 打赏
  • 举报
回复
下载时提取上传时保存在数据库中的文件名
----这个我能做到,但是怎么设置成数据库中的文件名才是问题所在。


guo40()的方法是在jsp页面中使用吗?我的下载是通过JS代码来触发的。不知道你的方法在这种情况下怎么使用?
liaohaiying 2007-01-20
  • 打赏
  • 举报
回复
现在明白了,楼主上传是不是用jspSmartUpload组件的啊,这个组件中就有下载文件的方法
① public void downloadFile(String sourceFilePathName)

其中,sourceFilePathName为要下载的文件名(带目录的文件全名)

② public void downloadFile(String sourceFilePathName,String contentType)

其中,sourceFilePathName为要下载的文件名(带目录的文件全名),contentType为内容类型(MIME格式的文件类型信息,可被浏览器识别)。

③ public void downloadFile(String sourceFilePathName,String contentType,String destFileName)

其中,sourceFilePathName为要下载的文件名(带目录的文件全名),contentType为内容类型
(MIME格式的文件类型信息,可被浏览器识别),destFileName为下载后默认的另存文件名。
这第三个方法就是你想要的方法 ====================================
你试一下,你可以到你的上传组件里找找看是不是有这个方法
yangjiyue 2007-01-20
  • 打赏
  • 举报
回复
Content-Disposition: attachment; filename=文件名
guo40 2007-01-19
  • 打赏
  • 举报
回复
写成java代码就是
reponse.setHeader("Content-Disposition","attachment; filename=文件.rar");
guo40 2007-01-19
  • 打赏
  • 举报
回复
修改http头,增加下面的内容
Content-Disposition: attachment; filename=文件名
javawebjsp 2007-01-19
  • 打赏
  • 举报
回复
下载时提取上传时保存在数据库中的文件名
nccxl 2007-01-19
  • 打赏
  • 举报
回复
目前为了统一管理文件,文件都是以编号命名的。
下载的时候需要还文件原来的名字。所以不能让下载的人去改,而且他也不知道这个名字。
usxue 2007-01-19
  • 打赏
  • 举报
回复
新建一个文件,把文件名改一下不就完事了?

81,094

社区成员

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

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