ASP.NET 프로젝트 강의실

시삽: 레드플러스 님 
게시판 이동:
 제목 : Down.aspx.cs
글번호: 179
작성자: 레드플러스
작성일: 2005/03/10 오후 8:17:06
조회수: 2560
파일: Down.aspx.cs (2 KB) / 전송수: 1410
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.IO;

namespace SampleCS.Upload
{
    /// <summary>
    /// Down에 대한 요약 설명입니다.
    /// </summary>
    public class Down : System.Web.UI.Page
    {
        string strFileName = String.Empty;//넘겨져온 파일명 저장
        string strBaseDir = String.Empty;//어디에 저장할 폴더명
        private void Page_Load(object sender, System.EventArgs e)
        {
            strFileName = Request.QueryString["FileName"].ToString();
            strBaseDir = Server.MapPath(".") + @"\files";
            if(strFileName == null) //넘겨져온 파일명이 없다면...
            {
                Response.End();//멈춤
            }
            else    //강제 다운로드
            {
                Response.Clear();//버퍼 비우기
                Response.ContentType = "application/octet-stream";
                Response.AddHeader(
                    "Content-Disposition",
                    "attachment;filename=" +
                    Server.UrlPathEncode(strFileName));
                Response.WriteFile(
                    Path.Combine(strBaseDir, strFileName));
                //다운횟수 증가
                UpdateDownCount();//다운 횟수 증가 함수 호출
                Response.End();//버퍼 비우고, 종료.
            }
        }

        private void UpdateDownCount()
        {
            SqlConnection objCon = new SqlConnection();
            objCon.ConnectionString = System.Configuration.ConfigurationSettings.AppSettings["CONNECTION_STRING"].ToString();
            objCon.Open();

            SqlCommand objCmd = new SqlCommand();
            objCmd.Connection = objCon;
            objCmd.CommandText = "Update Upload Set DownCount = DownCount + 1 Where FileName = @FileName";
            objCmd.Parameters.Add(new SqlParameter("@FileName", strFileName));
            objCmd.CommandType = CommandType.Text;

            objCmd.ExecuteNonQuery();
            objCon.Close();
        }


        #region Web Form Designer generated code
        override protected void OnInit(EventArgs e)
        {
            //
            // CODEGEN: 이 호출은 ASP.NET Web Form 디자이너에 필요합니다.
            //
            InitializeComponent();
            base.OnInit(e);
        }
        
        /// <summary>
        /// 디자이너 지원에 필요한 메서드입니다.
        /// 이 메서드의 내용을 코드 편집기로 수정하지 마십시오.
        /// </summary>
        private void InitializeComponent()
        {    
            this.Load += new System.EventHandler(this.Page_Load);
        }
        #endregion
    }
}
 
이전 글   다음 글 삭제 수정 답변 글쓰기 리스트

(댓글을 남기려면 로그인이 필요합니다.)

관련 아티클 리스트
  제       목 파일 작성자 작성일 조회
이전글 6. 답변형 게시판(ReplyCS, ReplyVB) - 레드플러스 2004-01-05 3874
  5. 자료실 게시판 작성 프로젝트(C#) - 레드플러스 2004-01-05 4506
  1. 자료실 게시판 테이블 구조 자료실게시판구조.jpg(69 KB) 레드플러스 2004-01-08 3894
  입력 Write.jpg(132 KB) 레드플러스 2005-03-10 3015
  출력 List.jpg(175 KB) 레드플러스 2005-03-10 3049
  상세 View.jpg(93 KB) 레드플러스 2005-03-10 2956
  수정 Modify.jpg(109 KB) 레드플러스 2005-03-10 2939
  삭제 Delete.jpg(45 KB) 레드플러스 2005-03-10 2938
  검색 Search.jpg(152 KB) 레드플러스 2005-03-10 2880
  공통 스타일 시트 : Upload.css - 레드플러스 2005-09-05 3027
  파일업로드 연습 : UploadTest.aspx UploadTest.aspx(1 KB) 레드플러스 2005-09-05 3141
  파일업로드 연습 : UploadTest.aspx.cs UploadTest.aspx.cs(2 KB) 레드플러스 2005-09-05 3294
  파일업로드 연습(파일명 중복 처리) : UploadTest.aspx.cs - 레드플러스 2005-09-06 4041
  2. 입력 페이지 설계 - 레드플러스 2004-06-20 2962
  Write.aspx Write(1).aspx(6 KB) 레드플러스 2005-03-10 3157
  Write.aspx.cs Write.aspx(1).cs(6 KB) 레드플러스 2005-03-10 2948
  3. 출력 페이지 설계 - 레드플러스 2004-06-20 2974
  List.aspx List(3).aspx(3 KB) 레드플러스 2005-03-10 3301
  List.aspx.cs List.aspx(1).cs(2 KB) 레드플러스 2005-03-10 2948
  4. 세부 출력 페이지 설계 - 레드플러스 2004-06-20 2929
  View.aspx View(1).aspx(4 KB) 레드플러스 2005-03-10 6467
  View.aspx.cs View.aspx(1).cs(4 KB) 레드플러스 2005-03-10 2837
  5. 수정 페이지 설계 - 레드플러스 2004-06-20 2949
  Modify.aspx Modify(1).aspx(5 KB) 레드플러스 2005-03-10 2880
  Modify.aspx.cs Modify.aspx(1).cs(5 KB) 레드플러스 2005-03-10 2832
  6. 삭제 페이지 설계 - 레드플러스 2004-06-20 2791
  Delete.aspx Delete(1).aspx(1 KB) 레드플러스 2005-03-10 2815
  Delete.aspx.cs Delete.aspx(1).cs(3 KB) 레드플러스 2005-03-10 2830
  7. 검색 페이지 설계 - 레드플러스 2005-03-10 2768
  Search.aspx Search(1).aspx(2 KB) 레드플러스 2005-03-10 2873
  Search.aspx.cs Search.aspx(1).cs(2 KB) 레드플러스 2005-03-10 2745
  8. 강제 다운로드 페이지 구현 - 레드플러스 2005-03-10 2545
현재글 Down.aspx.cs Down.aspx.cs(2 KB) 레드플러스 2005-03-10 2560
  자료실 게시판 프로젝트 소스 Upload.zip(60 KB) 레드플러스 2005-09-06 2476
다음글 4. 기본형 게시판 작성 프로젝트(C#) - 레드플러스 2004-01-04 3583
 
손님 사용자 Anonymous (손님)
로그인 Home