求高手解决 java写文件下载的问题

问题描述

try{Stringpath="D:/到货验收模板.xls";//path是指欲下载的文件的路径。Filefile=newFile(path);//取得文件名。Stringfilename=file.getName();//取得文件的后缀名。Stringext=filename.substring(filename.lastIndexOf(".")+1).toUpperCase();//以流的形式下载文件。InputStreamfis=newBufferedInputStream(newFileInputStream(path));byte[]buffer=newbyte[fis.available()];fis.read(buffer);fis.close();//清空responseresponse.reset();//设置response的Headerresponse.addHeader("Content-Disposition","attachment;filename="+newString(filename.getBytes()));response.addHeader("Content-Length",""+file.length());OutputStreamtoClient=newBufferedOutputStream(response.getOutputStream());response.setContentType("application/octet-stream");toClient.write(buffer);toClient.flush();toClient.close();out.clear();out=pageContext.pushBody();}catch(IOExceptionex){ex.printStackTrace();}弹出来的对话框是未知的类型

解决方案

解决方案二:
//文件下载publicActionForwarddown(ActionMappingmapping,ActionFormform,HttpServletRequestreq,HttpServletResponseresp)throwsIOException{Stringurl=req.getParameter("url");String[]str=url.split("\_");//获得文件从放的相对路径ServletContextcontext=req.getSession().getServletContext();Stringrealurl=context.getRealPath("/file/tmp/"+str[0]+"/"+url);//下载文件url=URLEncoder.encode(url,"UTF-8");resp.setContentType("application/x-download");resp.setHeader("Content-Disposition","attachment;filename="+url);InputStreamin=newFileInputStream(realurl);OutputStreamout=resp.getOutputStream();byte[]b=newbyte[in.available()];in.read(b);out.write(b);out.close();in.close();returnnull;}

解决方案三:
response.setContentType("application/octet-stream");自己搜下excel的mimetype,不是application/octet-stream
解决方案四:
网上很多实例的,自己好好找找
解决方案五:
该回复于2011-04-18 09:25:27被版主删除
解决方案六:
response.reset();response.setContentType("application/vnd.ms-excel;charset=uft-8");response.setHeader("Content-Disposition","attachment;filename="+fileName);
解决方案七:
hanfeng_st您好!能再提供给别的像这种写法的application/vnd.ms-excel的别的类型的。比如word,ppt,pdf等其他的吗
解决方案八:
Stringpath="D:/到货验收模板.xls";应该是Stringpath="D:\到货验收模板.xls";的吧!
解决方案九:
引用6楼xinxin867662924的回复:

hanfeng_st您好!能再提供给别的像这种写法的application/vnd.ms-excel的别的类型的。比如word,ppt,pdf等其他的吗

关于下载文件,所需要的文件类型,我这里可以帮助楼提供word,ppt,pdf的类型名称,分别如下:xls:application/vnd.ms-excelword:application/mswordppt:application/vnd.ms-powerpointpdf:application/pdf若楼主还想要其它文件的类型,可以再发出来,我一一提供。希望楼主能给分,呵呵,初到CSDN不久望见谅..积蓄人气和资源..

时间: 2024-12-21 19:09:04

求高手解决 java写文件下载的问题的相关文章

急:江湖急救,求高手解决Java中用POI插件导出Excel2007

问题描述 如题,求高手帮忙看看,我现在做到能在Excel中导出指定的内容,代码如下:HSSFWorkbookwb=newHSSFWorkbook();HSSFSheetsheet=wb.createSheet("test");FileOutputStreamfileOut;HSSFRowrow=sheet.createRow((short)0);row.createCell((short)1).setCellValue("aa");row.createCell((s

求高手解决java上传并读取txt文本的问题

问题描述 本人新手,用的struts2框架,想通过前台页面用表单上传一个txt格式的文本,最好不用上传到服务器,因为我只需要读出其中的数据就可以了,我的html表单如下<formid="uploadEmployment"name="uploadEmployment"action="/employment/Com_uploadEmployment.action"method="post"enctype="mult

class-为什莫总是提示 ThinkModel:relation方法不存在! 求高手解决

问题描述 为什莫总是提示 ThinkModel:relation方法不存在! 求高手解决 <?php namespace AdminModel; use ThinkModelRelationModel; class UserModel extends RelationModel { Protected $tableName = 'user';//定义主表名称 //定义关联关系 Protected $_link=array( 'role' =>array( 'mapping_type' =>

springmvc-SpringMVC整合hessian出现异常,求高手解决!!

问题描述 SpringMVC整合hessian出现异常,求高手解决!! 异常信息:严重: Servlet.service() for servlet spring threw exceptionjava.lang.ClassNotFoundException: com.caucho.hessian.client.HessianConnectionException at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappCl

tomcat启动报错-空web工程启动tomcat为什么报错?求高手解决

问题描述 空web工程启动tomcat为什么报错?求高手解决 严重: StandardServer.await: create[localhost:8005]: java.net.BindException: Cannot assign requested address: JVM_Bind at java.net.PlainSocketImpl.socketBind(Native Method) at java.net.PlainSocketImpl.bind(Unknown Source)

求高手解决struts2问题

问题描述 tomcat运行时出现如下错误:2010-10-2413:59:32org.apache.catalina.core.StandardContextfilterStart严重:Exceptionstartingfilterstruts2Class:com.opensymphony.xwork2.spring.SpringObjectFactoryFile:SpringObjectFactory.javaMethod:getClassInstanceLine:209-com/opensy

求高手解决:0xC0000005: 写入位置 0x00000064 时发生访问冲突

问题描述 求高手解决:0xC0000005: 写入位置 0x00000064 时发生访问冲突 typedef int (_stdcall*FUNA)(unsigned short Codechar* lpDataint lpDatalen);typedef int (_stdcall*FUNB)(char *lpBuf); const char * GetProtocol = ""GetProtocolData"";const char * GetReport =

sybase启动时遇到的问题!!!!求高手解决,,,急急急!!! xp系统

问题描述 sybase启动时遇到的问题!!!!求高手解决,,,急急急!!! xp系统 00:00:00000:00000:2015/03/10 09:09:00.95 kernel SySAM: Using licenses from: D:sybasedbSYSAM-2_0licenses 00:00:00000:00000:2015/03/10 09:09:01.65 kernel SySAM: Checked out license for 2 ASE_CORE (2013.1231/pe

.net-进入后台更新文件显示“Server Error in &amp;amp;#39;/&amp;amp;#39; Application”求高手解决

问题描述 进入后台更新文件显示"Server Error in '/' Application"求高手解决 ExecuteScalar requires an open and available Connection. The connection's current state: Broken. Description: An unhandled exception occurred during the execution of the current web request.