c#实现文件上传下载

页面部分代码
<%@ Page language="c#" Codebehind="CVW_Attaced_File.aspx.cs" AutoEventWireup="false" Inherits="CVPro1.CVW_Attaced_File" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
  <HEAD>
  <TITLE>CVPro 対話管理</TITLE>
  <META http-equiv="Content-Type" content="text/html; charset=x-sjis">
  <META http-equiv="Content-Style-Type" content="text/css">
  <STYLE type="text/css">BODY { SCROLLBAR-FACE-COLOR: #aaaaee; SCROLLBAR-HIGHLIGHT-COLOR: #eeeeff; SCROLLBAR-SHADOW-COLOR: #7777cc; SCROLLBAR-3DLIGHT-COLOR: #ccccff; SCROLLBAR-TRACK-COLOR: #eeeeff; SCROLLBAR-DARKSHADOW-COLOR: #333399 }
 </STYLE>
   <LINK href="./img/css/file.css" type="text/css" rel="stylesheet">
    <script language="javascript" type="text/javascript">
  <!--
   function fncClick(keyCVNO,keyBUNSHONO,keySTEPCD,keyFILENO,flg) {
    var theform = document.CVW_Attaced_File;
    theform.FileCvno.value = keyCVNO;
    theform.FileKobunshono.value = keyBUNSHONO;
    theform.FileStepcd.value = keySTEPCD;
    theform.FileNo.value = keyFILENO;
    theform.submitFlg.value = flg;
    
    theform.submit();
    theform.FileCvno.value = "";
    theform.FileKobunshono.value = "";
    theform.FileStepcd.value = "";
    theform.FileNo.value = "";
    theform.submitFlg.value = "";
      }
     // -->
    </script>
</HEAD>
 <BODY text="#000000" vLink="#000000" aLink="#000000" link="#000000" bgColor="#aaaaee"
  leftMargin="0" topMargin="0">
  <!-- ##FROM## -->
  <form id="CVW_Attaced_File" method="post" runat="server">
   <FONT face="MS UI Gothic"></FONT>
   <BR>
   <TABLE style="BORDER-BOTTOM: 1px solid" borderColor="#7777cc" cellSpacing="0" cellPadding="0"
    width="100%" border="0">
    <TR>
     <TD></TD>
     <TD width="100%"><STRONG>&nbsp;&nbsp; 添付ファイル管理<br></STRONG><font color="#990000"><b>
        <asp:label id="lblErrorMessager" style="Z-INDEX: 101; LEFT: 400px; POSITION: absolute; TOP: 30px"
         ReadOnly="True" Runat="server" ></asp:label></b></font><BR>
     </TD>
    </TR>
   </TABLE>
   <IMG height="8" alt="" src="./img/clear.gif" width="8"><BR>
   <TABLE cellSpacing="0" cellPadding="0" border="0">
    <TR vAlign="top">
     <TD width="6"><IMG height="8" alt="" src="./img/clear.gif" width="6"></TD>
     <TD>
      <TABLE cellSpacing="0" cellPadding="0" width="100%" border="0">
       <TR vAlign="top" bgColor="#7777cc">
        <TD>
         <TABLE cellSpacing="0" cellPadding="0" width="100%" border="0">
          <TR bgColor="#ffffff">
           <TD></TD>
          </TR>
          <TR bgColor="#dddddd">
           <TD noWrap height="21"><b><span style="FONT-SIZE: 14px"> 添付ファイル一覧</span></b><BR>
           </TD>
          </TR>
          <TR bgColor="#999999">
           <TD></TD>
          </TR>
          <TR bgColor="#ddddff">
           <TD></TD>
          </TR>
          <TR bgColor="#ffffff" border="0">
           <TD>
           <div style="DISPLAY: inline; OVERFLOW: auto; width: 910px; height: 300px;  background-color: #AAAAEE" id="layer1">
           
            <TABLE cellSpacing="0" cellPadding="0" border="0" >
             <TR bgColor="#bbbbff">
              <TD>
               <TABLE>
                <TR>
                 <TD><FONT face="MS UI Gothic"></FONT></TD>
                 <TD width="250"><B>&nbsp;タイトル</B></TD>
                 <TD width="3"><IMG height="25" src="img/lene_gw_hh.gif" width="2" border="0"></TD>
                 <TD width="150"><B>登録ステップ</B></TD>
                 <TD width="3"><FONT face="MS UI Gothic"><IMG height="25" src="img/lene_gw_hh.gif" width="2" border="0"></FONT></TD>
                 <TD width="75"><B>登録者</B></TD>
                 <TD width="3"><FONT face="MS UI Gothic"><IMG height="25" src="img/lene_gw_hh.gif" width="2" border="0"></FONT></TD>
                 <TD width="115"><B>登録日時</B></TD>
                 <TD width="3"><FONT face="MS UI Gothic"><IMG height="25" src="img/lene_gw_hh.gif" width="2" border="0"></FONT></TD>
                 <TD width="90"><B>操作</B></TD>
                 <TD width="3"><FONT face="MS UI Gothic"><IMG height="25" src="img/lene_gw_hh.gif" width="2" border="0"></FONT></TD>
                 <TD width="1200"><B>コメント</B></TD>
                                
                </TR>
               </TABLE>
             <tr bgColor="#ffffff">
              <td colSpan="2"><asp:datalist id="DataListFile" ItemStyle-Wrap=True AlternatingItemStyle-Wrap=True SelectedItemStyle-Wrap=True runat="server" width="1800px">
                <AlternatingItemStyle CssClass="dataGridAlternatingItemStyle"></AlternatingItemStyle>
                <ItemTemplate>                
                 <TABLE style="TABLE-LAYOUT: fixed">
                  <TR>
                   <TD></TD>
                   <TD width="250" style="LEFT: 0px; WORD-WRAP: break-word"><%# DataBinder.Eval(Container.DataItem, "TITLE") %>&nbsp;(&nbsp;<%# DataBinder.Eval(Container.DataItem, "FILEKIND") %>&nbsp;)</TD>
                   <TD width="5"></TD>
                   <TD width="150"><%# DataBinder.Eval(Container.DataItem, "STEPCD") %>&nbsp;<%# DataBinder.Eval(Container.DataItem, "KOBUNSHONO") %></TD>
                   <TD width="5"></TD>
                   <TD width="75"><%# DataBinder.Eval(Container.DataItem, "TOROKUSHACD") %></TD>
                   <TD width="5"></TD>
                   <TD width="115"><%# DataBinder.Eval(Container.DataItem, "TOROKUBI") %></TD>
                   <TD width="5"></TD>
                   <TD width="90"><%# DataBinder.Eval(Container.DataItem, "BOTTON") %></TD>
                   <TD width="5"></TD>
                   <TD width="1200" style="LEFT: 0px; WORD-WRAP: break-word"><%# DataBinder.Eval(Container.DataItem, "COMMENTS") %></TD>
                  </TR>                  
                 </TABLE>
                </ItemTemplate>
               </asp:datalist>
              </td>
             </tr>
            </TABLE> 
            </DIV>           
           </TD>
          </TR>
          
          <!-- BLOCK:WHITE -->
          <!-- /BLOCK:WHITE -->
          <!-- BLOCK:GREEN --></TABLE>
        </TD>
       </TR>
      </TABLE>
      
     </TD>
    </TR>
   </TABLE></TD></TR></TABLE></TD><TD width="1" bgColor="#ccccff"><IMG height="1" alt="" src="./img/clear.gif" width="1"></TD>
   <BR>
   <TABLE cellSpacing="0" cellPadding="0" border="0">
    <TR>
     <TD><IMG height="1" alt="" src="./img/clear.gif" width="6"></TD>
     <TD>
      <TABLE cellSpacing="0" cellPadding="0" width="910" border="0">
       <TR>
        <TD>
         <TABLE cellSpacing="0" cellPadding="0" width="910" border="0">
          <TR>
           <TD bgColor="#7777cc">
            <TABLE cellSpacing="0" cellPadding="0" width="910" border="0">
             <TR>
              <TD bgColor="#aaaaee">
               <TABLE cellSpacing="0" cellPadding="5" width="908" border="0">
                <TR>
                 <TD>
                  <TABLE id="table13" cellSpacing="0" cellPadding="0" width="906" border="0">
                   <TR>
                    <TD>
                     <hr>
                     <table id="table34" borderColor="#dddddd" height="31" width="910" border="0" borderbgColor="#dddddd">
                      <tr>
                       <td borderColor="#dddddd" bgColor="#dddddd"><b>お客様情報入力</b></td>
                      </tr>
                     </table>
                    </TD>
                   </TR>
                  </TABLE>                  
                  <TABLE id="table24" borderColor="#a2cef2" cellSpacing="0" width="908" bgColor="#ffffff"
                   border="1">
                   <TR>
                    <TD width="117" bgColor="#deeffe" height="24">&nbsp;ファイル名</TD>
                    <TD width="806" colSpan="3" height="24"><INPUT id="fileUpload" type="file" size="130" name="fileUpload" UNSELECTABLE="on" runat="server"></TD>
                   </TR>
                   <TR>
                    <TD width="117" bgColor="#deeffe">&nbsp;タイトル</TD>
                    <TD width="632" style="border-right-style: none; border-right-width: medium">
                    <asp:textbox id="titleBox" οnblur="this.style.backgroundColor='#FFFFFF'" style="TEXT-ALIGN: left"
                     οnfοcus="this.style.backgroundColor='#FFFFCC'" runat="server" Width="640px"></asp:textbox></FONT>
                    <TD width="81" style="border-left-style: none; border-left-width: medium; border-right-style: none; border-right-width: medium">ファイルの種類</TD>
                    <TD width="62"  style="border-left-style: none; border-left-width: medium">
                     <!-- ファイル種類キー --><asp:dropdownlist id="filekindchange" tabIndex="10" runat="server" Width="70px"></asp:dropdownlist></TD>
                   </TR>
                   <TR>
                    <TD bgColor="#deeffe">&nbsp;コメント</TD>
                    <TD colSpan="3"><asp:textbox id="comments" οnblur="this.style.backgroundColor='#FFFFFF'" style="TEXT-ALIGN: left"
                      οnfοcus="this.style.backgroundColor='#FFFFCC'" runat="server" Width="800px"></asp:textbox></TD>
                   </TR>
                  </TABLE>
                  <p align="right"><INPUT class="submit_hj" id="clear" type="button" value="クリア" runat="server">
                   <INPUT class="submit_hj" id="execute" type="button" value="登録" name="execute" runat="server">
                   <INPUT class="submit_hj" id="close" οnclick="window.close();" type="button" value="閉じる">&nbsp;&nbsp;
                  </p>
                 </TD>
                 <TD align="right"></TD>
                </TR>
               </TABLE>
              </TD>
             </TR>
            </TABLE>
           </TD>
          </TR>
         </TABLE>
        </TD>
       </TR>
      </TABLE>
      <INPUT id="FileCvno" type="hidden" size="10" name="FileCvno" runat="server"> <INPUT id="FileNo" type="hidden" size="10" name="FileNo" runat="server">
      <INPUT id="FileStepcd" type="hidden" size="10" name="FileStepcd" runat="server">
      <INPUT id="FileKobunshono" type="hidden" size="10" name="FileKobunshono" runat="server">
      <INPUT id="submitFlg" type="hidden" size="10" name="submitFlg" runat="server">
     </TD>
    </TR>
   </TABLE>
  </form></FONT>
 </BODY>
</HTML>

表的的定义代码
CREATE TABLE CVPRODEMO.CV_ATTACHEDFILE
(
    CVNO                           NUMBER(11,0) NOT NULL,
    BUNSHONO                       NUMBER(2,0) NOT NULL,
    STEPCD                         CHAR(1) DEFAULT '0' NOT NULL,
    FILENO                         NUMBER(15,0) NOT NULL,
    FILENAME                       VARCHAR2(255) NOT NULL,
    FILEKIND                       CHAR(3) NOT NULL,
    FILECONTENTS                   BLOB NOT NULL,
    TOROKUSHACD                    NUMBER(3,0) NOT NULL,
    TOROKUBI                       DATE DEFAULT SYSDATE NOT NULL,
    DELFLG                         CHAR(1),
    TITLE                          VARCHAR2(255) NOT NULL,
    COMMENTS                       VARCHAR2(512),
    LSTUPDATETIME                  DATE DEFAULT SYSDATE NOT NULL,
    CONSTRAINT "pk_CV_ATTACHEDFILE" PRIMARY KEY (CVNO, BUNSHONO, STEPCD, FILENO) USING INDEX
        PCTFREE 10
        INITRANS 2
        MAXTRANS 255
        TABLESPACE CVPRODEMO
        STORAGE(INITIAL 64K MINEXTENTS 1 MAXEXTENTS 2147483645 BUFFER_POOL DEFAULT)
        LOGGING
)
PCTFREE 10
MAXTRANS 255
TABLESPACE CVPRODEMO
STORAGE(INITIAL 64K MINEXTENTS 1 MAXEXTENTS 2147483645 BUFFER_POOL DEFAULT)
NOCACHE
LOGGING
/
后台代码
using System;
using System.Data;
using System.Data.OracleClient;
using System.IO;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using CVPro1.Common;
using CVProCom.Common;
using CVW.DBWrapper;
namespace CVPro1
{
 /// <summary>
 /// CVW_Attaced_File の概要の説明です。
 /// </summary>
 public class CVW_Attaced_File : Page
 {
  private DataSet DataSetFile;
  private ConnectionManager connectionManager = new ConnectionManager();
  protected System.Web.UI.WebControls.DataList DataListFile;
  protected System.Web.UI.HtmlControls.HtmlInputFile fileUpload;
  protected System.Web.UI.HtmlControls.HtmlInputHidden submitFlg;
  protected System.Web.UI.HtmlControls.HtmlInputHidden FILENO;
  
  protected System.Web.UI.WebControls.TextBox titleBox;
  protected System.Web.UI.WebControls.TextBox comments;
  protected System.Web.UI.WebControls.DropDownList filekindchange;
  protected System.Web.UI.HtmlControls.HtmlInputHidden FileKobunshono;
  protected System.Web.UI.HtmlControls.HtmlInputHidden FileStepcd;
  protected System.Web.UI.HtmlControls.HtmlInputHidden FileNo;
  protected System.Web.UI.HtmlControls.HtmlInputButton clear;
  protected System.Web.UI.HtmlControls.HtmlInputButton execute;
  protected System.Web.UI.HtmlControls.HtmlInputHidden FileCvno;
  protected System.Web.UI.WebControls.Label lblErrorMessager; 
  private string pstrCVNO = "";           //CV番号
  private string pstrBUNSHONO = "";       //子文書番号
  private string pstrSTEPCD= "";   //処理ステップ
  private string pstrTOROKUSHACD= "";  //担当者CD
  private double strMAXSIZE= 0;   //MAXSIZE
  string keySTEPCD = "";
  string keyCVNO= "";
  string keyBUNSHONO= "";
  string keyFILENO = "";
  string documentURL="";
  
  private void Page_Load(object sender, EventArgs e)
  {
   
   // ページを初期化するユーザー コードをここに挿入します。
   //タイムアウト
   try
   {
    pstrCVNO = this.Request.QueryString["cvno"].ToString();
   }
   catch
   {
    pstrCVNO = "";
   }
   try
   {
    pstrBUNSHONO = this.Request.QueryString["bunshono"].ToString();
   }
   catch
   {
    pstrBUNSHONO = "";
   }
   try
   {
    pstrTOROKUSHACD = this.Request.QueryString["tantoshacd"].ToString();
   }
   catch
   {
    pstrTOROKUSHACD = "";
   }
   try
   {
    pstrSTEPCD = this.Request.QueryString["stepcd"].ToString();
   }
   catch
   {
    pstrSTEPCD = "";
   }
   try
   {
    strMAXSIZE = double.Parse(this.Request.QueryString["maxsize"]);
   }
   catch
   {
    strMAXSIZE = 3;
   }
 
   
   if ("sakuzyo".Equals(submitFlg.Value))
   {
    _doSakuzyo();
   }
   else if ("download".Equals(submitFlg.Value))
   {
    _doDownload();
   }
   //ファイル名 初期状態はNULL、直接入力不可
   //this.fileUpload.Disabled = true;
   
   _fillBody();
   if (!IsPostBack) {
   //ファイル種類
    CVWCommon.setCboDefault(filekindchange, "700", null);
   
    }
   }
  #region Web フォーム デザイナで生成されたコード
  protected override void OnInit(EventArgs e)
  {
   //
   // CODEGEN: この呼び出しは、ASP.NET Web フォーム デザイナで必要です。
   //
   InitializeComponent();
   base.OnInit(e);
  }
  /// <summary>
  /// デザイナ サポートに必要なメソッドです。このメソッドの内容を
  /// コード エディタで変更しないでください。
  /// </summary>
  private void InitializeComponent()
  {
   this.clear.ServerClick += new System.EventHandler(this.clear_ServerClick);
   this.execute.ServerClick += new System.EventHandler(this.Execute_ServerClick);
   this.Load += new System.EventHandler(this.Page_Load);
  }
  #endregion
  /// <summary>
  /// 画面入力のチェック
  /// </summary>
  /// <returns></returns>
  private bool fncCheck()
  {
   if (this.fileUpload.Value == "")
   {
    this.lblErrorMessager.Text = "ファイル名が取得できません。";
    return false;
   }
   if (this.titleBox.Text == "")
   {  
    this.lblErrorMessager.Text = "タイトルが取得できません。";
    return false;
   }
   return true;
  }
  
  private void _fillBody()
  {
   try
   {
    connectionManager.Open();
    OleDBOperation oleDbOperation = new OleDBOperation(connectionManager.Connection, connectionManager.Transaction);
    string strSql = " SELECT A.TITLE, B2.CODEMEISHO,  B1.CODEMEISHO , C.SEIK||' '||C.MEIK ,TO_CHAR(A.TOROKUBI, 'YY/MM/DD HH24:MI') , A.COMMENTS , A.FILENO , '('||'子文書'||A.BUNSHONO||')' ,A.STEPCD,trim(to_char(A.CVNO,'00000000000')),trim(to_char(A.BUNSHONO,'00'))" +
                                " FROM CV_ATTACHEDFILE A , CVC_CODE B1,CVC_CODE B2 ,CVM_TANTOSHA C WHERE  ((B2.CODEKEY = '700') AND (A.FILEKIND = B2.CODE)) AND ((B1.CODEKEY = '961') AND (A.STEPCD = B1.CODE)) AND (A.TOROKUSHACD = C.TANTOSHACD) AND ( A.DELFLG = '0' ) AND" +
                    " A.CVNO = " + this.pstrCVNO +
                    " ORDER BY A.CVNO ASC,A.STEPCD ASC ,A.BUNSHONO ASC ,A.FILENO ASC";
    DataSetFile = oleDbOperation.SelectToDataSet(strSql);
    _DataListsyutoku();
   }
   catch (Exception ex)
   {
    throw ex;
   }
   finally
   {
    connectionManager.Close();
   }
  }
  private void _DataListsyutoku()
  {
   DataTable dt = new DataTable();
   dt.Columns.Add(new DataColumn("TITLE", typeof (string)));
   dt.Columns.Add(new DataColumn("STEPCD", typeof (string)));
   dt.Columns.Add(new DataColumn("FILENO", typeof (string)));
   dt.Columns.Add(new DataColumn("TOROKUSHACD", typeof (string)));
   dt.Columns.Add(new DataColumn("TOROKUBI", typeof (string)));
   dt.Columns.Add(new DataColumn("BOTTON", typeof (string)));
   dt.Columns.Add(new DataColumn("COMMENTS", typeof (string)));
   dt.Columns.Add(new DataColumn("FILEKIND", typeof (string)));
   dt.Columns.Add(new DataColumn("KOBUNSHONO", typeof (string)));
   
   DataRow row = null;
   if (DataSetFile != null)
   {
    for (int intRow = 0; intRow < DataSetFile.Tables[0].Rows.Count; intRow++)
    {
     row = dt.NewRow();
     row["TITLE"] = DataSetFile.Tables[0].Rows[intRow][0].ToString().Trim();
     row["FILEKIND"] = DataSetFile.Tables[0].Rows[intRow][1].ToString().Trim();
     row["STEPCD"] = DataSetFile.Tables[0].Rows[intRow][2].ToString().Trim();
     row["TOROKUSHACD"] = DataSetFile.Tables[0].Rows[intRow][3].ToString().Trim();
     row["TOROKUBI"] = DataSetFile.Tables[0].Rows[intRow][4].ToString().Trim();
     keySTEPCD = DataSetFile.Tables[0].Rows[intRow][8].ToString().Trim();
     
     if((keySTEPCD=="3") || (keySTEPCD=="4" ))
     {
      row["KOBUNSHONO"] = DataSetFile.Tables[0].Rows[intRow][7].ToString().Trim();
     }
     
     keyCVNO= DataSetFile.Tables[0].Rows[intRow][9].ToString().Trim();
     keyBUNSHONO= DataSetFile.Tables[0].Rows[intRow][10].ToString().Trim();
     keyFILENO = DataSetFile.Tables[0].Rows[intRow][6].ToString().Trim();
     string button =
       "<input id='download" + intRow + "' type='button' class='submit_hj2' value='取出' οnclick=fncClick('" + keyCVNO +
      "','" + keyBUNSHONO + "','" + keySTEPCD + "','" + keyFILENO + "','download')>&nbsp;&nbsp;"
      + "<input id='sakuzyo" + intRow + "'  type='button' class='submit_hj2' value='削除'  οnclick=fncClick('" + keyCVNO +
      "','" + keyBUNSHONO + "','" + keySTEPCD + "','" + keyFILENO + "','sakuzyo')>";
     row["BOTTON"] = button;
     row["COMMENTS"] = DataSetFile.Tables[0].Rows[intRow][5].ToString().Trim();
     dt.Rows.Add(row);
    }
   }
   DataListFile.DataSource = new DataView(dt);
   DataListFile.DataBind();
  }
  private void Execute_ServerClick(object sender, EventArgs e)
  {
   Response.Clear();
   try
   {
    // Get a reference to PostedFile object
    HttpPostedFile myFile = fileUpload.PostedFile;
    // Get size of uploaded file
    int nFileLen = myFile.ContentLength;
    double nFileMB = nFileLen/(1024*1024.0);
    string filepath = this.fileUpload.Value;
   
    if (nFileMB > strMAXSIZE)
    {
     this.lblErrorMessager.Text = "ファイル最大サイズは"+strMAXSIZE+"MB。";
     return ;
    }
    //デーだのチェック
    if(fncCheck()==false) return;
   }
   catch (Exception ex)
   {
    throw   ex;
   }
   
   string connstr = "User Id=cvprodemo;Password=cvpro;Data Source=orcl;";
   OracleConnection conn = new OracleConnection(connstr);
   conn.Open();
   if (fileUpload.PostedFile != null)
   {
    string selSql = "SELECT * FROM CV_ATTACHEDFILE WHERE FILENO IS NULL ";
    _saveDB(conn, selSql);
   }
   _fillBody();
   clear_ServerClick(sender, e);
  }
  private void _saveDB(OracleConnection conn, string selSql)
  {
   // Get a reference to PostedFile object
   HttpPostedFile myFile = fileUpload.PostedFile;
   // Get size of uploaded file
   int nFileLen = myFile.ContentLength;
   double nFileMB = nFileLen/(1024*1024.0);
   if ((nFileLen > 0) && (nFileMB < strMAXSIZE))
   {
    // Allocate a buffer for reading of the file
    byte[] myData = new byte[nFileLen];
    // Read uploaded file from the Stream
    myFile.InputStream.Read(myData, 0, nFileLen);
    try
    {
     OracleDataAdapter da = new OracleDataAdapter(selSql, conn);
     DataTable dt = new DataTable();
     da.FillSchema(dt, SchemaType.Source);
     OracleCommandBuilder cb = new OracleCommandBuilder(da);
     string filename = Path.GetFileName(fileUpload.Value);
     string filekind = this.filekindchange.SelectedValue;
     string systime = DateTime.Now.ToString("yyyy/MM/dd hh:mm");
     DataRow row = dt.NewRow();
     row["CVNO"] = pstrCVNO;
     row["BUNSHONO"] = pstrBUNSHONO;
     row["STEPCD"] = pstrSTEPCD;
     row["FILENO"] = _getFileNO();
     row["FILENAME"] = filename;
     row["TOROKUBI"] = systime;
     row["FILEKIND"] = filekind;
     row["FILECONTENTS"] = myData;
     row["TOROKUSHACD"] = pstrTOROKUSHACD;
     row["TITLE"] = titleBox.Text;
     row["DELFLG"] = '0';
     row["LSTUPDATETIME"] = systime;
     if ( this.comments.Text != "")
     {
      row["COMMENTS"] = this.comments.Text;
     }
     dt.Rows.Add(row);
     da.Update(dt);
    }
    catch (Exception ex)
    {
     throw   ex;
    }
   }
    
  }
  private void _doSakuzyo()
  {
   try
   {
    connectionManager.Open();
    connectionManager.BeginTransaction();
    OleDBOperation oleDbOperation = new OleDBOperation(connectionManager.Connection, connectionManager.Transaction);
    string sql = " UPDATE CV_ATTACHEDFILE  SET DELFLG ='1' WHERE " +
     " CVNO = " + this.FileCvno.Value + " AND" +
     " BUNSHONO = " + FileKobunshono.Value + " AND" +
     " STEPCD = '" + FileStepcd.Value + "'" + " AND" +
     " FILENO = " + FileNo.Value ;
    oleDbOperation.InsertAction(sql);
    connectionManager.CommitTransaction();
   }
   catch (Exception ex )
   {
    connectionManager.RollbackTransaction();
   }
   finally
   {
    connectionManager.Close();
   }
  }
  private void _doDownload()
  {
   string connstr = "User Id=cvprodemo;Password=cvpro;Data Source=orcl;";
   OracleConnection conn = new OracleConnection(connstr);
   conn.Open();
   string sql = " SELECT  FILECONTENTS , FILENAME , CVNO, BUNSHONO , STEPCD, FILENO ,FILEKIND  ,TOROKUSHACD ,TOROKUBI ,DELFLG , TITLE, COMMENTS , LSTUPDATETIME" +
    " FROM CV_ATTACHEDFILE  WHERE " +
    " CVNO = " + this.FileCvno.Value + " AND" +
    " BUNSHONO = " + FileKobunshono.Value + " AND" +
    " STEPCD = '" + FileStepcd.Value + "'" + " AND" +
    " FILENO = " + FileNo.Value ;
   _DL(conn, sql);
  }
  private void _DL(OracleConnection conn, string sql)
  {
   try
   {
    OracleDataAdapter dbAdapt = new OracleDataAdapter();
    dbAdapt.SelectCommand = new OracleCommand(sql, conn);
    DataSet dset = new DataSet("dset");
    dbAdapt.Fill(dset);
    DataTable dataTable = dset.Tables[0];
    if (dataTable != null)
    {
     string destFileName = (string) dataTable.Rows[0][1];
     string newFileName = destFileName;
     byte[] blob = (byte[]) dataTable.Rows[0][0];
     
     destFileName = Server.MapPath("AttachedFiles") + "//" + FileCvno.Value + FileKobunshono.Value + FileStepcd.Value  + "//" + destFileName;
     
     destFileName = Server.UrlDecode(destFileName);
     
     //CreateDirectory
     if (!Directory.Exists(Server.MapPath("AttachedFiles")))
     {
      Directory.CreateDirectory(Server.MapPath("AttachedFiles"));
     }
     
     Directory.CreateDirectory(Server.MapPath("AttachedFiles") + "//" + FileCvno.Value + FileKobunshono.Value + FileStepcd.Value);
     
     FileStream FS = new FileStream(destFileName, FileMode.Create);
     FS.Write(blob, 0, blob.Length);
     FS.Close();
     FS = null;
     
     documentURL = HttpContext.Current.Request.ApplicationPath + "/AttachedFiles/"
      + FileCvno.Value + FileKobunshono.Value + FileStepcd.Value + "/" + newFileName;
     
     string script = "<SCRIPT LANGUAGE='javascript'>";
     script += "window.open('" + documentURL + "');";
     script += "</SCRIPT>";
     Response.Write(script);
     
//     Response.Clear();
//     Response.ClearHeaders();
//     Response.Buffer = false;
//     Response.AppendHeader("Content-Disposition",
//      "attachment;filename=" + HttpUtility.UrlEncode(Path.GetFileName(destFileName), Encoding.UTF8));
//     Response.AppendHeader("Content-Length", blob.Length.ToString());
//     Response.ContentType = "application/octet-stream";
//     Response.OutputStream.Write(blob, 0, blob.Length);
//     Response.Flush();
//     Response.End();
    }
   }
   catch (Exception ex)
   {
    throw ex;
   }
  }
  private string _getFileNO()
  {
   string tmpID = "";
   try
   {
    connectionManager.Open();
    OleDBOperation oleDbOperation = new OleDBOperation(connectionManager.Connection, connectionManager.Transaction);
    string selSql = "SELECT ATTACHEDFILENO.NEXTVAL FROM DUAL";
    DataSetFile = oleDbOperation.SelectToDataSet(selSql);
    tmpID = DataSetFile.Tables[0].Rows[0][0].ToString().Trim();
   }
   catch (Exception ex)
   {
    throw ex;
   }
   finally
   {
    connectionManager.Close();
   }
   return tmpID;
  }
  private void clear_ServerClick(object sender, System.EventArgs e)
  {
   Response.Clear();
   this.titleBox.Text = "";
   this.comments.Text = "";
   this.filekindchange.SelectedIndex = 0;
   this.lblErrorMessager.Text = "";
  }
 }
}
 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值