`
cab0605
  • 浏览: 108694 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

C# 从服务器上下载文件

阅读更多

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using BLL;
using Aspose.Cells;
using DBUtility;
using System.IO;
using System.Data.OleDb;
using Model;
using System.Collections.Generic;
using SQLServerDAL;
using System.Text;


public partial class query_query : System.Web.UI.Page
{

    public override void VerifyRenderingInServerForm(Control control)
    {
        // Confirms that an HtmlForm control is rendered for
    }

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            this.GridView1.DataSource = PropertyBLL.GetPropertyInfo();
            this.GridView1.DataBind();
        }
    }

    protected void bt_query_Click(object sender, EventArgs e)
    {
        string column= this.DropDownList1.SelectedValue;
        string condition= this.DropDownList2.SelectedValue;
        string txtValue = this.TextBox1.Text.ToString().Trim();
        string sqlwhere = "";
        if (condition == "")
        {
            this.GridView1.DataSource = PropertyBLL.GetPropertyInfo();
            this.GridView1.DataBind();
        }

        switch (condition)
        {
            case "in":
                sqlwhere = " where " + column + " in ('" + txtValue + "')";
                break;
            case "like":
                sqlwhere = " where " + column + " like '%" + txtValue + "%'";
                break;
            default:
                sqlwhere = " where " + column + condition + " '" + txtValue + "'";
                break;
        }

        string Sql;
        string sqlquery = "select * from BorrowApplicationInfo ";
        if (sqlwhere.ToString().Trim().Length > 0)
        {
            Sql = sqlquery + sqlwhere;
        }
        else
        {
            Sql = sqlquery;
        }

        this.GridView1.DataSource = PropertyBLL.GetPropertyBySql(Sql);
        this.GridView1.DataBind();
        this.HiddenField1.Value = Sql;
    }

    protected void bt_export_Click(object sender, EventArgs e)
    {
        CreateExcelFile();
    }

    public void CreateExcelFile()
    { //在服务器生成EXCEL文件

        //ls_search_sql = Request.
        string ls_search_sql;
        ls_search_sql = Request.Form["HiddenField1"].ToString().Trim();

        if (ls_search_sql.Length > 0)
        {
            this.GridView1.DataSource = PropertyBLL.GetPropertyBySql(ls_search_sql);
            this.GridView1.DataBind();
        }
        else
        {
            this.GridView1.DataSource = PropertyBLL.GetPropertyInfo();
            this.GridView1.DataBind();
        }

        string ls_filename = "AssetInfo";
        string ls_filepath = "";
        //创建一个表,并从数据窗口中转成DataTable;
        DataTable dt = new DataTable();
        dt = GridView2DataTable(this.GridView1);
        ls_filepath = ImportExportExcel.DatatableToExcel(dt, "设备信息", "Sheet1", ls_filename);
        //从服务器导出EXCEL文件,相当于在客户机打开另存窗口;
        SaveFile(ls_filename+".xls", ls_filepath);
    }

    public void SaveFile(string ls_filename, string ls_filepathe)
    { //导出服务器的指定文件;
        if (!File.Exists(ls_filepathe))
        {   //文件不存在则直接退出不进行导出
            Response.Write("<script>alert('文件不存在,无法下载!')</script>");
            return;
        }
        System.IO.FileInfo fileInfo = new System.IO.FileInfo(ls_filepathe);
        Response.Clear();
        Response.ClearContent();
        Response.ClearHeaders();
        Response.AddHeader("Content-Disposition", "attachment;filename=" + ls_filename);
        Response.AddHeader("Content-Length", fileInfo.Length.ToString());
        Response.AddHeader("Content-Transfer-Encoding", "binary");
        Response.ContentType = "application/ms-excel";
        Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");
        Response.WriteFile(fileInfo.FullName);
        Response.Flush();
        Response.End();
    }

    public DataTable GridView2DataTable( GridView gv)
        {
            DataSet ds = new DataSet();
            DataTable examtable = new DataTable();
            long ll_count = 0;

            string ls_column = "";
            ll_count = gv.Columns.Count;

            for (int i = 0; i < ll_count; i++)
            {
                ls_column = gv.Columns[i].HeaderText;
                examtable.Columns.Add(ls_column, typeof(string));
            }

            for (int i = 0; i < gv.Rows.Count; i++)
            {
                DataRow dr = examtable.NewRow();
                for (int j = 0; j < ll_count; j++)
                {
                    dr[j] = gv.Rows[i].Cells[j].Text.Trim().ToString();
                }
                examtable.Rows.Add(dr);
            }
            return examtable;
        }


}

分享到:
评论

相关推荐

    用C#语言从服务器下载文件

    在IT领域,特别是Web开发中,使用C#从服务器下载文件是一个常见的需求。根据给定的文件信息,我们可以深入探讨这一主题,理解其中的关键技术点和实现细节。 ### 使用C#从服务器下载文件:理解与实践 #### 一、基础...

    c#从ftp服务器上下载文件 丢给浏览器响应

    总结来说,实现"C#从FTP服务器上下载文件并丢给浏览器响应"的功能,需要掌握以下关键知识点: 1. FTP协议及C#中的FTP客户端库使用(如FluentFTP) 2. ASP.NET Web应用程序控制器的使用 3. HTTP响应对象的构建与设置...

    C#实现IIS服务器下载文件

    C#实现IIS服务器下载文件 本文将详细介绍如何使用C#语言实现IIS服务器下载文件的功能。通过使用WebClient类和FileStream类,可以实现高抽象程度的Internet通讯服务,并将网络文件下载到本地。 一、概述 本文通过...

    C#如何连接服务器共享文件夹

    服务器共享文件夹是指在服务器上共享的文件夹,客户端可以通过网络连接到服务器并访问共享文件夹中的文件。C#提供了多种方式来连接服务器共享文件夹,包括使用UNC路径、使用WNetUseConnection函数、使用 impersonate...

    C#FTP操作:上传、下载、在服务器上创建文件夹、删除服务器上的文件

    - 使用Stream的CopyTo方法将服务器文件内容复制到本地文件。 4. **在服务器上创建文件夹**: - 使用"MKD"命令,设置FtpWebRequest对象的Request.Method并提供目录名。 - 发起请求并检查响应状态码,确认文件夹...

    C#多服务器多文件上传实例

    在C#编程环境中,实现多服务器多文件上传的实例是一个涉及网络编程、并发处理和分布式系统设计的重要技术问题。在大型应用或者云服务环境中,为了提高系统的可用性和可靠性,通常会采用多服务器集群架构。本实例就是...

    c#文件传输服务器

    4. 执行文件:可能有一个.exe文件,这是编译后的C#服务器应用程序。 5. 文档或说明:可能有README或README.md文件,详细介绍了如何运行和使用服务器。 综合以上信息,这个C#文件传输服务器项目可能涉及以下几个核心...

    C# WinForm 文件上传下载

    通常,我们会使用`WebClient`的`DownloadFile`方法,传入服务器文件的URL和本地保存的路径。然而,代码没有提供这部分,但我们可以根据上传部分的逻辑推测,下载文件时,我们需要构建一个类似的函数,接收服务器上的...

    C#webapi文件上传下载源码

    6. **文件I/O操作**:在服务器端处理文件上传时,需要了解如何在磁盘上读写文件。 7. **安全考虑**:确保文件上传功能的安全性,避免恶意文件上传,例如通过验证文件类型、大小和扩展名。 8. **性能优化**:对于大...

    从指定服务器下载文件

    在IT行业中,从指定服务器下载文件是一项常见的任务,特别是在网络数据传输、软件更新或系统部署等场景中。这里,我们将详细探讨如何实现这个过程,尤其是利用多线程技术提高下载效率。 首先,我们需要理解基本的...

    C# WebSocketServer服务器源代码.zip

    总之,“C# WebSocketServer服务器源代码.zip”提供了一个C#实现的WebSocket服务器示例,可以帮助开发者理解WebSocket通信的原理,以及在C#中如何构建和管理WebSocket服务器。通过学习和分析这些代码,可以提升你的...

    C# 编写服务器端接收文件

    ### C# 编写服务器端接收文件:深入探讨网络编程基础 #### DNS解析与网络通信 在C#中实现服务器端接收文件的功能时,网络通信的基础尤为重要,其中DNS(Domain Name System,域名系统)的解析是关键环节之一。DNS...

    C# 对移动云服务器文件进行下载或上传实例操作

    - 文件路径处理:确定要上传或下载的文件在服务器上的路径。 - 创建HTTP请求:根据需要选择GET、POST或PUT方法,构造合适的HTTP请求。 - 发送请求:使用HttpClient发送请求,并处理响应。 - 文件流处理:对于...

    c#ftp服务器下载文件.rar

    在IT行业中,FTP(File Transfer ...通过上述步骤,我们可以用C#编写一个FTP客户端应用,实现从FTP服务器下载文件的功能,并结合浏览器提供友好的用户体验。理解并掌握这些知识点对于进行相关项目开发至关重要。

    C#文件服务器

    【C#文件服务器】是一种基于C#编程语言构建的服务器应用程序,主要用于实现文件的上传和下载功能。在本文中,我们将深入探讨C#文件服务器的关键技术、设计模式以及实现细节。 1. **C#基础与.NET框架** C#是微软...

    ASP.NET(C#) Web Api通过文件流下载文件的实例

    在ASP.NET(C#) Web API开发中,有时我们需要提供一个接口让用户能够下载服务器上的文件。这个实例将详细讲解如何利用文件流来实现文件的下载功能。首先,我们要理解Web API的基本原理,它是一个用于构建RESTful服务...

    C#实现HTTP下载文件的方法

    通常,我们先关闭写入本地文件的`FileStream`,然后关闭从服务器获取的响应流。最后,你可以返回保存文件的完整路径,以便在其他部分的代码中使用。 在实际应用中,你可能还需要处理一些异常,例如网络连接问题、...

    C# Winform 下载文件

    在C# Winform环境下开发文件下载功能,主要是利用.NET Framework提供的System.Net命名空间中的WebClient类。这个类为开发者提供了一种简单的方式来处理HTTP、FTP等网络协议的交互,包括下载文件。本篇将深入探讨如何...

    c#TS文件下载要带(m3u8)

    在描述中提到的“c#版TS视频流文件下载”,是指使用C#编写程序,从服务器上获取TS分片文件。这通常涉及到HTTP请求的发送,可以通过HttpClient类实现。例如,你可以创建一个HttpClient实例,设置请求头和目标URL,...

Global site tag (gtag.js) - Google Analytics