您的位置:首页 > 其它

图片显示+文件下载

2011-07-25 16:16 267 查看
图片显示
//图片的显示
	public String loadDown() throws Exception {
		System.out.println("下载测试");
		HttpServletResponse response = ServletActionContext.getResponse();
		File url = new File(ServletActionContext.getRequest().getSession()
				.getServletContext().getRealPath(
						"/images/quality/QLoveLady.gif"));
		BufferedInputStream bis = null;
		OutputStream os = null;
		if (url != null) {
			bis = new BufferedInputStream(new FileInputStream(url));
			byte[] buffer = new byte[1024 * 8];
			int result = -1;
			os = response.getOutputStream();
			while ((result = bis.read(buffer)) != -1) {
				os.write(buffer, 0, result);
			}
			os.flush();
			bis.close();
			os.close();
		}
		return null;
	}
//文件下载

//下载
    public String download1() {
    	HttpServletResponse response = ServletActionContext.getResponse();
    	// path是指欲下载的文件的路径。
    	String fn="json转换.doc";
    	File file = new File(ServletActionContext.getRequest().getSession()
				.getServletContext().getRealPath(
						"/acc_file/"+fn));
        try {
        	if(file.isFile()){
        		// 取得文件名。
        		String filename = file.getName();
        		// 取得文件的后缀名。
        		String ext = filename.substring(filename.lastIndexOf(".") + 1).toUpperCase();
        		System.out.println(ext);
        		// 以流的形式下载文件。
        		InputStream fis = new BufferedInputStream(new FileInputStream(file));
        		byte[] buffer = new byte[fis.available()];
        		fis.read(buffer);
        		fis.close();
        		// 清空response
        		response.reset();
        		// 设置response的Header
        		response.addHeader("Content-Disposition", "attachment;filename=" + new String(filename.getBytes()));
        		response.addHeader("Content-Length", "" + file.length());
        		OutputStream toClient = new BufferedOutputStream(response.getOutputStream());
        		response.setContentType("application/octet-stream");
        		toClient.write(buffer);
        		toClient.flush();
        		toClient.close();
        	}
        } catch (IOException ex) {
            ex.printStackTrace();
        }
        return null;
    }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐