`
lfwer
  • 浏览: 86428 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

struts2 文件下载使用迅雷的问题(已解决)

阅读更多

目前做的一个项目需要支持迅雷下载,因此在做开发时,发现一个非常奇怪的问题,就是:有时通过迅雷能够下载(文件名称正确),有时不能下载(文件名显示的是*.action,而且无法下载)。希望大神可以帮我看看,具体可以看附件中的图。

下面贴上代码:

----------------------------------------------------

struts.xml :

 

<action name="download" class="fileLoadAction"
   method="fileDownload">
   <result name="success" type="stream">
    <param name="contentType">application/octet-stream</param>
    <param name="inputName">inputStream</param>
    <param name="bufferSize">4096</param>
   </result>
  </action>

---------------------------------------------------------------

action:

 

public String fileDownload() throws Exception{

     return SUCCESS;

}

public InputStream getInputStream(){
  InputStream is = null;
  try {
   HttpServletResponse response = ServletActionContext.getResponse();
   response.reset();
   Attachment att = (Attachment) dao.get(Attachment.class, id);//从数据库中读取文件
  String  fileName = att.getNameSource() + att.getFileType();//获取文件名称
   fileName = new String(fileName.getBytes(), "iso8859-1");
   response.setHeader("content-disposition", "attachment;filename=" + fileName);
   is = att.getFileContent().getBinaryStream();//文件内容转换成流
  } catch ( Exception e) {
   e.printStackTrace();
  }
  return is;
 }

--------------------------------------------------------------

前台:

 

<a style="" href="<%=request.getContextPath()%>/fileload/download.ac?id=${obj.idAttachment}"
     target="_blank" title="${obj.nameSource}">

--------------------------------------------------------------------

 

 

解决方法:

 

问题找到,原来是这一行代码的问题:   fileName = new String(fileName.getBytes(), "iso8859-1");

改成 fileName=URLEncoder.encode(fileName, "UTF-8");就行了,刚刚看别人帖子的注释才知道的(http://blog.csdn.net/menglingjun/article/details/5356105

  • 大小: 58.4 KB
  • 大小: 63.7 KB
分享到:
评论

相关推荐

    struts2实现文件下载功能

    通过以上步骤,我们可以使用Struts2框架实现一个完整的文件下载功能。在`FileDownloadDemo`项目中,你应该能看到这些组件的实现。这个示例项目可以帮助你更好地理解和实践Struts2的文件下载功能,进一步提升你在Web...

    struts2文件上传下载源代码

    在Struts2中,文件上传和下载是常见的功能需求,特别是在处理用户交互和数据交换时。这篇博客文章提供的"struts2文件上传下载源代码"旨在帮助开发者理解和实现这些功能。 文件上传功能允许用户从他们的设备上传文件...

    struts2实现文件上传下载

    Struts2是一个强大的MVC(模型-视图-控制器)框架,广泛应用于Java ...以上就是使用Struts2框架实现文件上传下载的基本步骤和关键知识点。在实际开发中,可以根据项目需求进行调整和优化,确保功能的稳定性和安全性。

    struts2文件下载(解决了中文乱码问题)

    在处理文件下载时,Struts2提供了一套完整的解决方案,包括处理中文文件名的乱码问题。在标题提到的场景中,开发者可能遇到了在使用Myeclipse 6.5集成开发环境,JDK1.6和Tomcat 6.0服务器环境下,通过Struts2进行...

    struts2_uploadify带进度条的多文件上传下载

    总之,这个项目实例为使用Struts2和Uploadify实现带进度条的多文件上传及下载功能提供了一个基础模板,对于学习和实践此类功能的开发者来说是一个有价值的参考。通过深入研究和理解这个项目的代码,可以提升对Struts...

    Struts2之struts2文件下载详解案例struts012

    在Struts2中处理文件下载是常见的需求,比如用户请求下载服务器上的文件,如PDF、图片或其他类型的文档。本案例"Struts2之struts012"将深入探讨如何在Struts2中实现文件下载的功能。 首先,我们需要创建一个Action...

    struts2文件上传下载

    在这个特定的项目中,我们关注的是"struts2文件上传下载"的功能,这涉及到用户通过Web界面上传文件到服务器,以及从服务器下载文件到用户的设备。 文件上传是Web应用中的常见需求,例如用户可能需要提交图片、文档...

    struts2文件上传和下载

    在Struts2中,文件上传和下载是常见的功能需求,对于用户交互和数据交换至关重要。以下是对这些知识点的详细阐述: 1. **文件上传**: 在Struts2中,文件上传主要依赖于`Commons FileUpload`库,它是一个Apache提供...

    struts2文件下载

    在“struts2文件下载”这个主题中,我们主要关注的是如何使用Struts2来实现文件的下载功能。这篇博客文章可能探讨了在Struts2环境下处理文件下载的步骤和技术。 在Struts2中,`DownloadAction.java`很可能是一个...

    Struts2文件流方式导出下载excel、Txt、image图片

    下面将详细讲解如何使用Struts2的文件流技术来实现这些功能。 首先,我们需要理解文件流的概念。文件流是I/O操作中的一种,它允许我们将文件的数据读取到内存中,或者将内存中的数据写入文件。在下载场景中,我们...

    struts2中的批量上传与文件下载(解决中文乱码问题)

    本文将详细介绍如何在Struts2框架下实现批量上传与文件下载,并解决中文乱码问题。 一、Struts2文件上传 1. 配置Struts2文件上传支持: 在struts.xml配置文件中,我们需要添加`&lt;constant&gt;`元素来设置允许上传的...

    Struts2+Jquery+Ajax

    "struts2 jar"文件包含了Struts2框架的核心库,可能包括struts2-core、struts2-convention、struts2-json-plugin等依赖,这些是开发Struts2应用必不可少的组件。 "Struts2"可能是项目实例代码,包括Action类、视图...

    struts2 上传下载文件

    使用struts2框架进行文件的上传并限制文件的大小与类型,使用struts2框架实现文件下载

    struts2文件下载的参数

    本文将深入探讨“Struts2文件下载的参数”这一主题,包括如何设置和使用这些参数来实现安全、高效的文件下载服务。 首先,我们需要了解Struts2中的Action类。Action类是处理用户请求的核心,它通过配置在struts.xml...

    struts2文件上传下载(注解版)

    在本项目中,我们关注的是Struts2中的文件上传和下载功能,这些功能是Web开发中常见的需求,尤其在处理用户数据提交或提供资源下载时。下面将详细介绍这个“struts2文件上传下载(注解版)”项目的关键知识点。 1. ...

    Struts2文件上传下载和表单重复提交问题

    然后,在Action类中创建一个`java.io.File`或者`org.apache.struts2.dispatcher.multipart.FileItem`类型的字段来接收上传的文件,并使用`@FileUpload`注解标记。最后,处理请求时,框架会自动将上传的文件内容填充...

    struts2所有jar包程序文件

    在下载并解压"struts2所有jar包"后,开发者需要将lib目录下的所有jar文件添加到项目构建路径中,确保运行时可以找到所有依赖。对于Maven或Gradle用户,可以通过在pom.xml或build.gradle文件中指定相应的依赖项,实现...

    JavaEE Struts文件上传

    2. **添加Struts2插件**:Struts2的文件上传功能依赖于`struts2-convention-plugin`和`struts2-core`等库。在`struts.xml`配置文件中,需要启用Multipart解析器,例如添加`&lt;constant name="struts.multipart.parser...

    struts2实现多文件上传下载

    网上的Struts2进行的文件下载一般都是单文件或者固定的文件,并没有(很少)实现随意文件的下载的例子 提供多文件上传,上传成功后,提供刚上传的文件下载功能(其他的都可以在其上面进行扩充) 多文件 上传 下载...

Global site tag (gtag.js) - Google Analytics