Topic: 一个中文名文件下载不了的问题!!!
2007-04-13 16:22
330 查看
1.一个中文名文件下载不了的问题!!! | Copy to clipboard |
Posted by: adelejxsx Posted on: 2003-04-17 09:35 问题一: 假如在一台服务器上有一个文件:c:/upload/我的文件.doc,然后在jsp中有一个链接指向她,<a href="c:/upload/我的文件.doc">我的文件.doc</a>,运行的时候,如果你点这个链接会提示找不到这个文件。 问题二: 还是跟上面有关,上面那个doc文件是用JspSmartUpload来实现附件上载,上载的时候存储到服务器上时文件名已经经过了转码:(存放在c:/upload目录下) java.net.URLEncoder.encode(fileName),换成了像下面这种形式的文件名: %3D%2A%1A%3B%2B%3C%1D%1A.doc,然后用一个链接指向她, <a href="c:/upload/%3D%2A%1A%3B%2B%3C%1D%1A.doc">我的文件.doc</a>,运行的时候,点这个链接时会弹出一个对话框,提示你“保存”或者“打开“,选择”保存“,这时候出现的保存文件名就是:%3D%2A%1A%3B%2B%3C%1D%1A.doc,我想保存对话框的文件名是原来的文件名,如"我的文件.doc",我该怎么办,有谁能帮我。。。。 第二个问题更重要。。。。 |
2.Re:一个中文名文件下载不了的问题!!! [Re: adelejxsx] | Copy to clipboard |
Posted by: rainman Posted on: 2003-04-17 09:43 问题一,链接要用utf-8编码的bytes再加上URL Encoding。 问题二,建议文件名不要改成URL Encoding的,直接还原原来的文件名。 下载的时候,在http头送文件名时需要URL Encoding。 |
3.Re:一个中文名文件下载不了的问题!!! [Re: rainman] | Copy to clipboard |
Posted by: adelejxsx Posted on: 2003-04-17 10:03 rainman wrote: 问题一,链接要用utf-8编码的bytes再加上URL Encoding。 问题二,建议文件名不要改成URL Encoding的,直接还原原来的文件名。 下载的时候,在http头送文件名时需要URL Encoding。 我上传文件用的是jspsmartUpload包,它自动把文件名URL Encoding,还有,我下载时只是一个链接,它指向本机的一个文件,这种情况下怎么在http头送文件名呢? |
4.Re:一个中文名文件下载不了的问题!!! [Re: adelejxsx] | Copy to clipboard |
Posted by: rainman Posted on: 2003-04-17 10:06 那就不要用jspsmartUpload咯。 上传文件的文件名是本机路径,你得从这个路径中取出文件名部分,然后保存在服务器上的时候用这个文件名。 |
5.Re:一个中文名文件下载不了的问题!!! [Re: adelejxsx] | Copy to clipboard |
Posted by: adelejxsx Posted on: 2003-04-17 10:06 问题一的解决方法能举一个简单的例子吗? 不胜感激!@!@ |
6.Re:一个中文名文件下载不了的问题!!! [Re: adelejxsx] | Copy to clipboard |
Posted by: adelejxsx Posted on: 2003-04-17 10:08 没办法,只能用这个,要不然用什么上传 ,别的我还要再学。时间好紧啊。。。。。 |
7.Re:一个中文名文件下载不了的问题!!! [Re: adelejxsx] | Copy to clipboard |
Posted by: rainman Posted on: 2003-04-17 10:10 URLEncoder.encode(filename, "UTF-8"); filename是中文文件名。 |
8.Re:一个中文名文件下载不了的问题!!! [Re: adelejxsx] | Copy to clipboard |
Posted by: adelejxsx Posted on: 2003-04-17 10:36 不好意思,再次麻烦。 你的意思是说:假如c:下有一个文件是:世界文化.doc, 我在JSP中写的代码是: <%@ page contentType="text/html;charset=gb2312" session="true"%> <% String name=java.net.URLEncoder.encode("世界文化.doc","UTF-8")); %> <a href="c:/<%=name%>">世界文化.doc</a> 可是这样会提示找不到文件。 |
9.Re:一个中文名文件下载不了的问题!!! [Re: adelejxsx] | Copy to clipboard |
Posted by: adelejxsx Posted on: 2003-04-17 11:34 没有人知道吗? |
10.Re:一个中文名文件下载不了的问题!!! [Re: adelejxsx] | Copy to clipboard |
Posted by: jp_hao Posted on: 2003-05-13 15:23 有没有哪位牛人把这个问题解决了,我也碰到了这个问题。 |
11.Re:一个中文名文件下载不了的问题!!! [Re: adelejxsx] | Copy to clipboard |
Posted by: floater Posted on: 2003-05-13 22:13 search on Jute board. |
12.Re:一个中文名文件下载不了的问题!!! [Re: rainman] | Copy to clipboard |
Posted by: bless Posted on: 2003-05-22 15:51 向各位求救,有人能解答一下这个问题吗?万分的感谢 |
13.Re:一个中文名文件下载不了的问题!!! [Re: adelejxsx] | Copy to clipboard |
Posted by: 牛老板 Posted on: 2003-05-23 11:09 在win下,用gbk码,就不会有问题. 在UNIX下不好改... |
14.Re:一个中文名文件下载不了的问题!!! [Re: 牛老板] | Copy to clipboard |
Posted by: bless Posted on: 2003-05-23 15:55 牛老板 wrote: 在win下,用gbk码,就不会有问题. 在UNIX下不好改... 能说的详细一点吗? |
15.Re:一个中文名文件下载不了的问题!!! [Re: adelejxsx] | Copy to clipboard |
Posted by: adelejxsx Posted on: 2003-05-23 16:41 这是上传的页面: <%@ page contentType="text/html;charset=gb2312"%> <html> <body> <form method="post" name="QuestionAdd" action="QuestionAdded.jsp" ENCTYPE="multipart/form-data" Language="JavaScript" onSubmit="return Add_onsubmit()"> 附件:<input type="file" name="attachmentName" size="36"> <input type="submit" name="Submit" value=" 提交 "> </form> </body> </html> 这是上传页面的处理页面 <!--Head--> <%@ page contentType="text/html;charset=gb2312"%> <jsp:useBean id="myUpload" scope="page" class="com.jspsmart.upload.SmartUpload" /> <% //getResource myUpload.initialize(pageContext); myUpload.upload(); //<!--Transaction--> //假定上传到c:/upload uploadpath = "c://upload"; java.io.File dir = new java.io.File(uploadpath); if(!dir.exists()){ dir.mkdirs(); } com.jspsmart.upload.Files files = null; com.jspsmart.upload.File file = null; //count为上传的文件个数 int count = myUpload.save(uploadpath); %> 这是显示附件的页面,在附件的链接上点击右键后点击“另存为”可以保存到机器上,直接点击会打开附件。 <%@ page contentType="text/html;charset=gb2312" %> <% <table> <tr> <td align="right" width="27%"><font color=blue>附件:</font></td> <td width="73%"> <% //att_name为你上传了的文件的文件名 String att_name="世界文件.doc"; if(att_name!=null){ out.println("<a href=/"listAttachment.jsp?filename="+att_name+"/" target=/"_blank/">"+att_name+"</a>"); } %> </td> </tr> </table> </body> </html> 这是显示附件内容的页面,很好地解决了中文问题,不妨一试,文件上传用的是com.jspsmart.upload.SmartUpload包,网上有下的。 <%@ page language="java" import="com.jspsmart.upload.*,cn.com.ahead.Util.*"%><jsp:useBean id="myUpload" scope="page" class="com.jspsmart.upload.SmartUpload" /><% String filename=request.getParameter("filename"); filename=new String(filename.getBytes("iso8859-1"),"gb2312"); myUpload.initialize(pageContext); myUpload.downloadFile("c://upload//"+java.net.URLEncoder.encode(filename),"application/ahead",new String(filename.getBytes("gb2312"),"iso8859-1")); %> 注意:此页面上<%@....%><jsp:userBean..../><%....%>之间不能有任何空格,要不然下载到机器上的文件会多出几个回车换行符,格式会不对。 |
16.Re:一个中文名文件下载不了的问题!!! [Re: adelejxsx] | Copy to clipboard |
Posted by: lixj0571 Posted on: 2003-05-26 13:07 问题二: 还是跟上面有关,上面那个doc文件是用JspSmartUpload来实现附件上载,上载的时候存储到服务器上时文件名已经经过了转码:(存放在c:/upload目录下) java.net.URLEncoder.encode(fileName),换成了像下面这种形式的文件名: %3D%2A%1A%3B%2B%3C%1D%1A.doc,然后用一个链接指向她, <a href="c:/upload/%3D%2A%1A%3B%2B%3C%1D%1A.doc">我的文件.doc</a>,运行的时候,点这个链接时会弹出一个对话框,提示你“保存”或者“打开“,选择”保存“,这时候出现的保存文件名就是:%3D%2A%1A%3B%2B%3C%1D%1A.doc,我想保存对话框的文件名是原来的文件名,如"我的文件.doc",我该怎么办,有谁能帮我。。。。 第二个问题更重要。。。。 java.net.URLDecoder.decode(filename)解码 |
17.Re:一个中文名文件下载不了的问题!!! [Re: adelejxsx] | Copy to clipboard |
Posted by: adelejxsx Posted on: 2003-05-26 13:18 我上面已经解决了这个问题,你只要想办法把你上传的文件名传到显示附件的那个页面,也就是上面倒数第二个页面上就可以了,你可以在上传的时候把上传的文件名保存到数据库中或者是保存到Session里都可以。你试试。 |
18.Re:一个中文名文件下载不了的问题!!! [Re: rainman] | Copy to clipboard |
Posted by: bless Posted on: 2003-05-26 16:21 谢谢adelejxsx 的帮助,真的是非常的感谢! |
19.Re:一个中文名文件下载不了的问题!!! [Re: adelejxsx] | Copy to clipboard |
Posted by: bless Posted on: 2003-05-26 18:01 adelejxsx,又得向你求教了 现在问题是这样的: 显示一个英文名的照片没有问题,但就是显示不了中文名的相片,不知道如何解决,还请你指点迷津!再次向你表示谢意。 |
20.Re:一个中文名文件下载不了的问题!!! [Re: adelejxsx] | Copy to clipboard |
Posted by: zenxin0103 Posted on: 2003-05-26 22:20 麻烦那位给SmartUpload原代码发给我,谢谢。 Email :zenxin0103@163.net |
21.Re:一个中文名文件下载不了的问题!!! [Re: zenxin0103] | Copy to clipboard |
Posted by: why Posted on: 2003-05-26 22:32 zenxin0103 wrote: 麻烦那位给SmartUpload原代码发给我,谢谢。 有人有SmartUpload的原代码嗎? http://www.jspsmart.com/ 上的free download只有classes |
22.Re:一个中文名文件下载不了的问题!!! [Re: adelejxsx] | Copy to clipboard |
Posted by: adelejxsx Posted on: 2003-05-27 08:35 可以把他的类反编译一下,不过,可能没有原版的代码好。 |
相关文章推荐
- WebRequest实现文件下载的一个RFC规范问题
- ASP.Net中下载文件遇到了一个问题--对话框弹出两次
- 彻底解决中文名文件下载和下载文件内容乱码问题!!!!!
- Java下载中文名文件乱码问题
- 下载中文名文件问题
- IIS下中文名的文件无法下载问题的解决方案
- Struts2文件下载的一个问题
- Django文件下载,解决Django中文名问题
- Asp.net 下载文件乱码问题一个可能原因--文件名加后缀名
- 在IE下-下载文件-文件名中文名乱码问题
- 解决MVC下载中文名文件乱码问题
- JSP中下载文件的一个小问题
- 导出Excel文件到iframe子页面中下载时的一个怪异问题
- IIS下中文名的文件无法下载问题的解决方案
- 彻底解决中文名文件下载和下载文件内容乱码问题!!!!! (不知道有没有用,我还没有试过)
- CHROME下载中文名文件显示乱码问题
- IIS下中文名的文件无法下载问题的解决方案
- 哪些年遇到过的Andriod问题(13)Mars的下载文件代码不知道是什么问题,在网上去新COPY了一个就可以下载了。
- IIS做web server有些中文名文件不能下载,显示不全的问题
- IIS下中文名的文件无法下载问题的解决方案