0

ここでは、グリッド クリックの行コマンド イベントを使用して word/doc ファイルをダウンロードし、メソッド downloadresume を記述します。この方法は、IE の Internet Explorer を除くすべてのブラウザで正常に機能し、ファイルではなく .aspx を生成します。

protected void grdCandidate_RowCommand(object sender, GridViewCommandEventArgs e)
{
    try
    {
        if (e.CommandName == "Download")
        {
            byte[] Attachment = null;
            string Extension = string.Empty;
            ClsCandidateManager objCandidateManager = new ClsCandidateManager();
            Attachment = objCandidateManager.GetCandidateAttachment(Convert.ToInt32(e.CommandArgument), out Extension);
            DownloadAttachment("Resume", Attachment, Extension);
        }
    }
    catch (Exception ex)
    {
        string str = ex.Message + ex.InnerException;

    }
}

public void DownloadAttachment(string strFileName, byte[] Attachment, string Extension)
{
    if (Attachment != null && Attachment.Length > 0)
    {
        Page.Response.Clear();
        Page.Response.Buffer = true;
        Page.Response.Charset = "";
        if (Extension == ".pdf")
        {
            Page.Response.ContentType = "application/pdf";
        }
        else
        {
            Page.Response.ContentType = "application/vsd-msword";
        }
        Page.Response.AddHeader("content-disposition", "attachment;filename=" + strFileName + Extension);

        Page.Response.Cache.SetCacheability(HttpCacheability.NoCache);
        Page.Response.BinaryWrite(Attachment);
        Page.Response.Flush();
        //Response.End();
    }
    else
    {
        ScriptManager.RegisterStartupScript(this, GetType(), "Attachment", "alert('Attachment not found!');", true);
    }
}
4

1 に答える 1