十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
response.setContentType("application/x-download");//设置为下载application/x-download
“专业、务实、高效、创新、把客户的事当成自己的事”是我们每一个人一直以来坚持追求的企业文化。 创新互联是您可以信赖的网站建设服务商、专业的互联网服务提供商! 专注于成都网站设计、成都做网站、软件开发、设计服务业务。我们始终坚持以客户需求为导向,结合用户体验与视觉传达,提供有针对性的项目解决方案,提供专业性的建议,创新互联建站将不断地超越自我,追逐市场,引领市场!
String filedownload = path;//即将下载的文件的相对路径
String filedisplay = fileName;//下载文件时显示的文件保存名称
String filenamedisplay = URLEncoder.encode(filedisplay,"utf-8");
response.addHeader("Content-Disposition","attachment;filename=" + filenamedisplay);
然后把文件流给response的outputStream
你的这段代码有两处让人疑惑。其一、File()这个构造函数,自已查下API
其二、FileOutputStream,FileOutputStream(String name)创建一个向具有指定名称的文件中写入数据的输出文件流。它只是创建了一个输出流,其中没有具体的值,那么这个值来自哪呢,其就来自于你的输入流。其中FileOutputStream()中只是创建了一个字节输出流,其只能接受字节流的输出,所以它还需要与DataOutputStream()的配合才能完成输出,具体用法你可以查API
这个是用spSmartUpload实现的 使用的时候导入smartupload的jar包
jsp页面
body
%
File f = new File("e:\\abc\\");
String[] fnames = f.list();
for(int i = 0; i fnames.length; i++){
%
a href="down?fname=%=fnames[i]%"%=fnames[i]%/abr
%}%
/body
servlet中
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String fname = new String(request.getParameter("fname").getBytes(
"iso-8859-1"));
SmartUpload su = new SmartUpload();
su.initialize(getServletConfig(), request, response);// 初始化
try {
su.setContentDisposition(null);//出现下载提示
su.downloadFile("e:\\abc\\" + fname);
} catch (SmartUploadException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}