文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>在web中实现文件的上传下载

在web中实现文件的上传下载

时间:2006-03-19  来源:amityboy

   这段时间一直在进行一个项目的维护和升级。这两天一直在为系统中的文件上传和下载功能伤脑筋。原系统基本实现了文件的上传功能,但对于下载功能仅仅是通过一个简单的href连接来实现的,过于简单,而且对于包含中文的路径名也无法支持。    实现其下载功能,我主要遇到三方面的问题:    1. jspSmartUpload.jar的应用。    2. JSP页面的包含汉字的参数的传递问题。    3. JSP页面下载中出现的异常问题:“Java.lang.IllegalStateException:getOutputStream() has already been called for this response”。    上述的三个问题在以下的专题中都找到了解决的方法:    1.jspSmartUpload上传下载全攻略  http://www.knowsky.com/3136.html    文章对jspSmartUpload的安装、类和方法都进行了详细的说明,并给出了应用实例。文章最后针对汉字编码问题,作者对类SmartUpload的downloadfile方法进行了扩展。    2.java中文问题综述  http://www.farwen.com/ReadNews.asp?NewsID=2981    详细说明了java中所遇到的中文编码问题和解决的办法,当然也包含了我所遇到的问题。    3.jsp中文处理问题实例详解   http://www.54master.com/bbs/cgi-bin/topic.cgi?forum=14&topic=10926    这篇文章对编码问题进行了较为细致的研究,并给出了研究的方法,对于认识汉字编码问题有很大的帮助,我个人比较喜欢这篇文章。    4.getOutputStream() has already been called 解决方法  http://www.gissky.net/blog/more.asp?name=hauf&id=9894    这个帖子内容很少,却帮我解决了问题,呵呵,喜欢这样的帖子,就怕那中写了很长,却还解决不了问题,更是不知所云的帖子。    这个帖子内容直接剪贴到下面了:
   加上response.reset(),并且所有的%>后面不要换行,包括最后一个。因为application Server在处理编译jsp时对于%>和<%之间的内容一般是原样输出,而且默认是PrintWriter,而你却要进行流输出:ServletOutputStream,这样做相当于试图在Servlet中使用两种输出机制,就会发生:getOutputStream() has already been called for this response的错误详细请见《More Java Pitfill》一书的第二部分 Web层Item 33:试图在Servlet中使用两种输出机制 270而且如果有换行,对于文本文件没有什么问题,但是对于其它格式,比如AutoCAD、Word、Excel等文件下载下来的文件中就会多出一些换行符0x0d和0x0a,这样可能导致某些格式的文件无法打开,有些也可以正常打开。
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载