Struts2做下载

1、编写anction,如下:

package cn.com.css.misps.onlinegraph.web.action;

import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;

import javax.annotation.Resource;

import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;

import cn.com.css.common.action.BaseAction;
import cn.com.css.misps.domain.ServiceCode;
import cn.com.css.misps.domain.ServiceProductCode;
import cn.com.css.misps.domain.TPrCategory;
import cn.com.css.misps.onlinegraph.service.IServiceCodeService;
import cn.com.css.misps.onlinegraph.service.IServiceProductCodeService;
import cn.com.css.misps.onlinegraph.service.ITPrCategoryService;
import cn.com.css.misps.onlinegraph.service.ITProductInfoService;
import cn.com.css.misps.onlinegraph.util.AnalysisMicaps2BytesUtils;
import cn.com.css.misps.onlinegraph.util.DateUtil;
import cn.com.css.misps.onlinegraph.util.FNameUtils;
import cn.com.css.misps.onlinegraph.util.ImageBytesAnalysisUtils;
import cn.com.css.misps.onlinegraph.util.ProductsStorageUtils;
import cn.com.css.misps.onlinegraph.webservice.impl.GraphWebServiceImpl;
import cn.com.system.domain.Account;
import com.opensymphony.xwork2.ActionContext;

/**
 * @brief OnlineGraphAction.java 这里是在线出图部分的代码
 * @attention 要注意的是页面中的表单填写的是服务方法中要求填写的参数
 * @author 涂作权
 * @date 2013-9-4
 * @note begin modify by null
 */
@SuppressWarnings("serial")
@Scope("prototype")
@Controller
public class OnlineGraphAction extends BaseAction {

 // 相对门户项目的相对路径
 private String relativeStorageFilePath;

 // 图形文件的文件名称
 private String imgPath;

 // 下载文件用户的
 private InputStream inputStream;

 

 /**
  * \brief 下载产生的图片
  *
  * @return
  * @attention
  * @author 涂作权
  * @date 2014-3-26
  * @note begin modify by null
  */
 public String download() throws Exception {
  inputStream = new FileInputStream(
    ProductsStorageUtils.graphAbsolutePath
      + relativeStorageFilePath + "/" + imgPath);
  //这里的imgPath表示的是的是文件的名称,即:fName
  String name = URLEncoder.encode(imgPath,"utf-8");
  ActionContext.getContext().put("name", name);
  return "download";
 }

 

 /**
  * @return the imgPath
  */
 public String getImgPath() {
  return imgPath;
 }

 /**
  * @param imgPath
  *            the imgPath to set
  */
 public void setImgPath(String imgPath) {
  this.imgPath = imgPath;
 }

 

 /**
  * @return the inputStream
  */
 public InputStream getInputStream() {
  return inputStream;
 }

 /**
  * @param inputStream
  *            the inputStream to set
  */

 public void setInputStream(InputStream inputStream) {
  this.inputStream = inputStream;
 }
}

在struts配置文件中进行如下配置:

 <action name="onlinegraph_*" class="cn.com.css.misps.onlinegraph.web.action.OnlineGraphAction" method="{1}">
   <result name="download" type="stream">
    <param name="inputName">inputStream</param>
    <param name="contentDisposition">attachment;filename="${#name}"</param>
    <param name="bufferSize">4096</param>
   </result>
  </action>

 

时间: 2024-10-16 16:37:25

Struts2做下载的相关文章

struts2 0-struts下载之后如何刷新当前页面

问题描述 struts下载之后如何刷新当前页面 我用struts2框架做下载,点击下载之后弹出对话框,保存之后如何自动刷新当前页面,每次数据更新后都得手动刷新,求大神解决 解决方案 你在保存后再次执行后台原本进入该页面所执行的代码,然后再跳转到页面!

写给还在做下载站的站长们的一些忠告

下载|站长 做下载站最要资源的就是空间与流量,对于个人站长来说,刚开始做站,你有这一个魄力去投资吗?当然也有人会,我相信更多站长不会,那怎么办,那就采集信息盗连下载地址,没办法,谁叫你穷,先暂且有钱后再考虑吧!    国内个人下载站几乎占国内的90%,也就是说90%下载站都是个人在做,而这90%的数据中,又有多少是跟着别人走的,又有多少真的盈利的,又有多少站长是最后放弃了.我们下面来分析一下个人下载站在国内普遍现像与问题?    一.麻木跟风   源码下载站数也数不清,看到中国源码下载.源码之家

php做下载文件的实现代码及文件名中乱码解决方法

最近有人问我做下载文件的方法,对于php方法如下: 复制代码 代码如下: <?php header("Content-Type: application/force-download"); header("Content-Disposition: attachment; filename=ins.jpg"); readfile("imgs/test_Zoom.jpg"); ?> 第一行代码是强制下载: 第二行代码是给下载的内容指定一个

php做下载文件的实现代码及文件名中乱码解决方法_php技巧

最近有人问我做下载文件的方法,对于php方法如下: 复制代码 代码如下: <?php header("Content-Type: application/force-download"); header("Content-Disposition: attachment; filename=ins.jpg"); readfile("imgs/test_Zoom.jpg"); ?> 第一行代码是强制下载: 第二行代码是给下载的内容指定一个

Response.AddHeader使用实例收集 如何做下载,下载中文显示乱码怎么办 ContentType类型大全

非常有用的文章~!~!忘记的时候可以来查找一下... 文件下载,指定默认名srxljl Response.AddHeader("content-type","application/x-msdownload"); Response.AddHeader("Content-Disposition","attachment;filename=要下载的文件名.rar"); 刷新页面srxljl Response.AddHeader &

菜鸟:分享我做下载站的执着故事

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 大家好,我是菜鸟站长的扬子.在这里想和大家分享下,我是如何打造一个下载站的故事.我认为网站要赢利,必须要有自己的数据资源,那么为此我,到处收集上百G的程序源码.有的是我自己修改的,有的是我加入了别人的VIP会员,有的是我淘宝网买的.对于文章站,我认为是过去式了.因为现在的网络环境改变了,大站更大,小站更弱.百度对大站的权重给的特别高.新文章首

求大神教我做QQ空间,用Ajax和struts2做,谢谢

问题描述 求大神教我做QQ空间,用Ajax和struts2做,谢谢 解决方案 解决方案二:QQ空间的实现逻辑,应该普通的论坛,发帖,回帖是一个性质的吧.主要是数据库表的设计上可能需要研究一下,其他的都是页面显示效果了.想做好,确实需要花心思啊解决方案三: 解决方案四: 解决方案五: 解决方案六:博客论坛类似的.

为什么我用struts2做的文件上传总是接到null值呢?

问题描述 我用struts2 做的文件上传1.前台imgUp.ftl代码为:<form action="upload.action" method="post" enctype="multipart/form-data"><div id="upforms"><div class="upfileDesc">选择类型:<select name="selectD

如何做下载类网站

问题描述 我想做一个类似华军那样的软件下载网站,但是遇到一个问题,就是首页智能识别访问者IP然后指向可以给该网民提供最快服务的服务器,我看了一下,现在凡是稍微有点规模的软件下载网站都这么做,如华军.QQ等都如此不知道该如何做这项技术,盼望高人指点一下 解决方案 解决方案二:根据IP然后指向可以给该网民提供最快服务的服务器,这句话你自己都点出来了哦.1.得到每个请求的IP2.分析IP所属地区3.跳转服务器(服务器IP)解决方案三:过滤解决方案四:该回复于2009-07-18 00:19:00被版主