`
z283464598
  • 浏览: 22913 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

struts2上传和下载

阅读更多
1,文件上传

1)struts.xml配置

<action name="addStockEx" class="action.stock.AddStockAction">
         <param name="savePath">/images/upload</param> <!--这里说明保存的目录-->
         <param name="allowTypes">image/bmp,image/png,image/gif,image/jpg,image/jpeg</param> <!--允许上传的文件类型-->
      <result name="SUCC">/jsp/success.jsp</result> <!--返回成功-->
      <result name="input">/jsp/upload.jsp</result>        <!--上传错误返回页面-->
   </action>

2)Action类

public class UploadFile

{

  private String allowTypes;
private String savePath;
private File upload;
private String uploadContentType;
private String uploadFileName;//注意这里是***FileName,其中***是File的变量名

public String execute() throws Exception

{

   boolean b = filterType(getAllowTypes().split("\\,"));
  if(!b)
  {
   setTip("添加失败!");
   setError("不支持此类型的文件,请传入.bmp .png .gif .jpg .jpeg格式的文件!");
   return "input";
  }
 
  //file upload
  FileOutputStream fos = new FileOutputStream(getSavePath()+"\\"+getUploadFileName());
  FileInputStream fis = new FileInputStream(getUpload());
  byte[] buf = new byte[1024];
  int len = 0;
  while ((len=fis.read(buf))>0)
  {
   fos.write(buf,0,len);
  }

}

//判断上传文件类型是否支持

public boolean filterType(String[] types)
{
  boolean b = false;
  String fileType = getUploadContentType();
  for(String type : types)
  {
   if(type.equals(fileType))
   {
    b = true;
   }
  }
 
  return b;
}

//.....这里省略get  set方法

}

3),jsp页面

<form name="theForm" method="post" enctype="MULTIPART/FORM-DATA">

  <input type="file"name="upload">

</form>

2,文件下载

1)struts.xml配置

<action name="download" class="action.FileDownLoadAction">
      <param name="inputPath">/images/button_18.gif</param><!--下载的文件-->
      <result name="SUCC" type="stream">
     
      <param name="contentType">/image/gif</param><!--下载文件的类型-->
      <param name="inputName">targetFile</param><!--注意这里,在action类中肯定会有个getTargetFile()方法-->
      <param name="contentDisposition">attachment;filename="hah.gif"</param>  <!--下载文件的名称,注意这里需要定义attachment;  否则就会默认inline 表示浏览器会尝试打开-->
      <param name="bufferSize">4096</param>  <!--下载缓冲区大小-->
      </result>
    </action>

2)Action类

public class FileDownLoadAction
{
private String inputPath;


public InputStream getTargetFile() {
  return ServletActionContext.getServletContext().getResourceAsStream(inputPath);
}

public void setInputPath(String inputPath) {
  this.inputPath = inputPath;
}
public String execute()
{
  return "SUCC";
}

public String getInputPath() {
  return inputPath;
}


}

3)jsp页面

<a href="download.action">下载</a>



一些参数说明:

contentType

内容类型,和互联网MIME标准中的规定类型一致,例如text/plain代表纯文本,text/xml表示XML,image/gif代表GIF图片,image/jpeg代表JPG图片

inputName

下载文件的来源流,对应着action类中某个类型为Inputstream的属性名,例如取值为inputStream的属性需要编写getInputStream()方法

contentDisposition

文件下载的处理方式,包括内联(inline)和附件(attachment)两种方式,而附件方式会弹出文件保存对话框,否则浏览器会尝试直接显示文件。取值为:

attachment;filename="hah.gif",表示文件下载的时候保存的名字应为hah.gif。如果直接写filename="hah.gif",那么默认情况是代表inline,浏览器会尝试自动打开它,等价于这样的写法:inline; filename="hah.gif"

bufferSize

下载缓冲区的大小

。在这里面,contentType属性和contentDisposition分别对应着HTTP响应中的头Content-Type和Content-disposition头。



本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/hy0231/archive/2008/12/19/3555957.aspx
0
1
分享到:
评论

相关推荐

    Struts2 上传和下载功能

    在Struts2中,实现文件上传和下载是常见的需求,对于用户交互和数据交换至关重要。这篇博客文章可能详细讨论了如何在Struts2框架中实现这两个功能。 在Struts2中,文件上传主要依赖于`Commons FileUpload`库,这是...

    struts2上传和下载文件详细源码

    在这个"struts2上传和下载文件详细源码"中,我们可以深入理解Struts2如何处理文件上传和下载操作。 1. 文件上传: 在Struts2中,文件上传主要依赖于Apache的Commons FileUpload库。首先,需要在struts.xml配置文件...

    struts2 上传和下载

    Struts2是一个强大的Java web框架,它为开发者提供了一种优雅的方式来组织和构建应用程序,同时支持文件上传和下载功能。在Struts2中,文件上传和下载是通过Action类、拦截器以及配置文件来实现的。以下是关于Struts...

    Struts2上传和下载Action配置

    在Struts2中,文件上传和下载是通过Action类进行配置和处理的,让我们一起深入了解一下这个过程。 首先,我们要理解上传的流程。在用户端,通常通过HTML表单来选择要上传的文件,表单的`enctype`属性必须设置为`...

    struts2文件上传下载源代码

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

    Struts2上传和下载的小Demo

    struts2的文件下载,和上传的Demo 可参考 https://blog.csdn.net/qq_31334119/article/details/80208888 https://blog.csdn.net/qq_31334119/article/details/80229329

    struts2实现文件上传下载

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

    struts2文件上传和下载

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

    struts2上传下载项目

    Struts2是一个流行的Java Web框架,它为开发者提供了...通过研究这个项目,你可以更深入地了解Struts2的文件操作,包括上传和下载的流程、错误处理以及与前端交互的细节。这对于任何Java Web开发者来说都是宝贵的经验。

    struts2 文件的上传和下载

    在Struts2中,文件的上传和下载是常见的功能需求,特别是在处理用户表单提交、数据交换或者提供资源下载服务时。这篇博客文章将探讨如何在Struts2框架下实现文件的上传和下载操作。 首先,我们需要了解文件上传的...

    struts2上传下载实例

    在Struts2中,文件上传和下载是常见的功能需求,尤其对于处理用户提交的表单数据时,如上传图片、文档等。这个"struts2_上传下载"实例则涵盖了多种实现这些功能的方法。 首先,Struts2的文件上传依赖于Apache的...

    struts2图片上传并预览

    1. 添加依赖:在项目中,你需要添加Struts2的核心库和文件上传插件。Struts2的FileUpload插件提供了处理文件上传的功能。确保`struts2-core`和`struts2-convention-plugin`以及`struts2-file-uploading-plugin`在你...

    struts2文件上传下载

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

    struts文件上传和下载

    在Struts2中,文件上传和下载是常见的功能需求,主要用于处理用户通过表单提交的文件,或者允许用户从服务器下载文件。这些功能极大地增强了Web应用的交互性和实用性。 在Struts2中实现文件上传,主要涉及到以下几...

    struts2中的文件上传和下载示例

    Struts2是一个强大的Java web框架,它为开发者提供了丰富的功能,包括文件上传和下载。在Struts2中处理文件上传和下载是常见的需求,对于构建交互式的Web应用来说至关重要。以下将详细介绍Struts2中如何实现这两个...

    struts2 文件上传

    struts2 文件上传 struts2上传标签file fileuploadstruts2 文件上传 struts2上传标签file fileuploadstruts2 文件上传 struts2上传标签file fileupload

    基于Struts2的文件上传下载功能的完整源代码。

    在基于Struts2的文件上传下载功能中,它提供了处理用户上传文件和提供文件下载的服务。这个完整的源代码是实现这些功能的一个实例,经过测试确保了其正确性和可用性。 首先,我们要理解Struts2中的Action类。Action...

    struts2 上传下载的例子

    struts2上传和下载的例子,直接用Eclipse导入即可。。

Global site tag (gtag.js) - Google Analytics