jsp 下载文件路径问题
我在jsp中用超链接的方式向下载服务器上的.xls文件,但是怎么在a标签里写这个文件的路径呢?比如这个文件在电脑的路径是d:\111.xls应该怎么在超链接里写能让客户端...
我在jsp中用超链接的方式向下载服务器上的.xls文件,但是怎么在a标签里写这个文件的路径呢? 比如这个文件在电脑的路径是d:\111.xls 应该怎么在超链接里写能让客户端下载呢
展开
展开全部
下载文件有两种方式。
1.是在你的服务器上能相对找到。
即 http://localhost8080/web 这个映射的是你服务器上的 D:\web 这个目录
那么你这个文件就要在 D:\web 这个目录中。
比如 D:\web\downfile\111.xls
你的超链接可以这样写。 <a href="/downfile/111.xls">download</a>
2.就是用流的方式下载。
<a href="#" onclilck="......">download</a>
这样的超链接就不是指向一个文件了,而是向服务器提交下载申请。
这样执行到你后台的servlet类中,你可以根据一些必要的标识知道你要下载的文件。
这样你把D:\111.xls文件读取出来。 然后写入到response.getOutPutStream (这个方法有些记不清了,你查一下) 这样实现下载。
1.是在你的服务器上能相对找到。
即 http://localhost8080/web 这个映射的是你服务器上的 D:\web 这个目录
那么你这个文件就要在 D:\web 这个目录中。
比如 D:\web\downfile\111.xls
你的超链接可以这样写。 <a href="/downfile/111.xls">download</a>
2.就是用流的方式下载。
<a href="#" onclilck="......">download</a>
这样的超链接就不是指向一个文件了,而是向服务器提交下载申请。
这样执行到你后台的servlet类中,你可以根据一些必要的标识知道你要下载的文件。
这样你把D:\111.xls文件读取出来。 然后写入到response.getOutPutStream (这个方法有些记不清了,你查一下) 这样实现下载。
展开全部
应该是你的链接路径不对吧。。一般jsp中要进行下载有两种方式,一种是直接用<a href='${pageContext.request.contextPath}/download/1.xls'>excel下载</a>,这种方式,还有一种就是添加头response.setContentType("application/x-download");//设置为下载application/x-download
String filedownload = "/要下载的文件名";//即将下载的文件的相对路径
String filedisplay = "最终要显示给用户的保存文件名";//下载文件时显示的文件保存名称
filenamedisplay = URLEncoder.encode(filedisplay,"UTF-8");//这里是用来解决中文乱码的问题
response.addHeader("Content-Disposition","attachment;filename=" + filedisplay);
然后把你要下载的文件写入到response.getoutputStream这个输出流里面就可以了。
String filedownload = "/要下载的文件名";//即将下载的文件的相对路径
String filedisplay = "最终要显示给用户的保存文件名";//下载文件时显示的文件保存名称
filenamedisplay = URLEncoder.encode(filedisplay,"UTF-8");//这里是用来解决中文乱码的问题
response.addHeader("Content-Disposition","attachment;filename=" + filedisplay);
然后把你要下载的文件写入到response.getoutputStream这个输出流里面就可以了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
放到你的 服务器 比如 apche 的 apps 中 一个项目叫 aa 把111.xls放到这个目录下 访问路径为 localhost8080/111.xls
追问
额 这么改完以后 为什么提示 下面那个图呢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一楼的答案已经很正确了,假如楼主还是不懂+Q,我的QQ是我ID的那几个数字
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询