Struts 2ファイルダウンロード-絶対パス/相対パス


プロジェクトコード+jarパッケージをダウンロードしてインポートすれば使用できます
ダウンロード先:http://download.csdn.net/detail/love_xiolan/9750719
ファイルダウンロードは、struts 2でファイルダウンロードを実現するための一般的な機能です.
package download;

import java.io.FileInputStream;
import java.io.InputStream;

import com.opensymphony.xwork2.ActionSupport;

//      
public class FileDownload extends ActionSupport {

	private int number;

	private String fileName;
	
	private String urlname;

	public int getNumber() {
		return number;
	}

	public void setNumber(int number) {
		this.number = number;
	}

	public String getFileName() {
		return fileName;
	}

	public void setFileName(String fileName) {
		this.fileName = fileName;
	}

	//        ,               ,              
	public InputStream getDownloadFile() throws Exception {
		if (1 == number) {
			this.fileName = "Dream.jpg";
			//File f = new File("C:/Users/Administrator/Pictures/222.jpg");
			return new FileInputStream(urlname);
			//       
			//return ServletActionContext.getServletContext().getResourceAsStream("");
		}

		else if (2 == number) {
			this.fileName = "jd2chm    chm    .rar";
			//     
			this.fileName = new String(this.fileName.getBytes("GBK"), "ISO-8859-1");
			//return ServletActionContext.getServletContext().getResourceAsStream("upload/jd2chm    chm    .rar");
			return new FileInputStream(urlname);
		} else
			return null;
	}

	@Override
	public String execute() throws Exception {

		return SUCCESS;
	}

	public String getUrlname() {
		return urlname;
	}

	public void setUrlname(String urlname) {
		this.urlname = urlname;
	}

}

二)struts.xmlファイルでの関連情報の構成



	
	
	
		
			
				text/plain
				attachment;fileName="${fileName}"
				downloadFile
				1024
			
		

	

1.結果タイプはtype=「stream」と書く必要があります ,これに対応する処理クラスはorg.apache.struts 2.dispatcher.StreamResult
2.関連するパラメータ:
Struts2文件下载-绝对路径/相对路径_第1张图片
3. 1)  attachment;fileName="${fileName}"     contentDispositionのデフォルトはinline(インライン)です.例えば、ダウンロードしたファイルはテキストタイプで、直接ホームページで開きます.直接開くことができない場合はダウンロードボックスを開いて自分で選択します.2) attachment:ダウンロード時にダウンロードボックス3が開きます) FileName="${fileName}":ここで定義された名前は、ダウンロードボックスに表示されるファイル名4.downloadFileです.このdownloadFile名前は、FileDownload.javaクラスのgetDownloadFile()メソッド名削除getと一致します.
三)ダウンロードを表示するためのリンクインタフェースfiledownload.jsp
  
  
  
  
  
    
      
      
          
      
      
      
          
      
      
      
  
    
    
    
    
    


Dream.jpg:ダウンロード
jd2chm chm .rar:ダウンロード2クリック c testindex.txt

転載先:http://blog.csdn.net/hzc543806053/article/details/7538723