• 如何实现大文件数据上传


    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;

    namespace WinShowDown
    {
    public partial class FrmMain : Form
    {
    public FrmMain()
    {
    InitializeComponent();
    }

    private void btnDown_Click(object sender, EventArgs e)
    {
    DownloadFile("http://localhost:1928/WebServer/downloader/123.rar", @"C:123.rar", progressBar1, label1);
    }
    /// <summary>
    /// c#,.net 下载文件
    /// </summary>
    /// <param name="URL">下载文件地址</param>
    ///
    /// <param name="Filename">下载后的存放地址</param>
    /// <param name="Prog">用于显示的进度条</param>
    ///
    public void DownloadFile(string URL, string filename, System.Windows.Forms.ProgressBar prog, System.Windows.Forms.Label label1)
    {
    float percent = 0;
    try
    {
    System.Net.HttpWebRequest Myrq = (System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create(URL);
    System.Net.HttpWebResponse myrp = (System.Net.HttpWebResponse)Myrq.GetResponse();
    long totalBytes = myrp.ContentLength;
    if (prog != null)
    {
    prog.Maximum = (int)totalBytes;
    }
    System.IO.Stream st = myrp.GetResponseStream();
    System.IO.Stream so = new System.IO.FileStream(filename, System.IO.FileMode.Create);
    long totalDownloadedByte = 0;
    byte[] by = new byte[1024];
    int osize = st.Read(by, 0, (int)by.Length);
    while (osize > 0)
    {
    totalDownloadedByte = osize + totalDownloadedByte;
    System.Windows.Forms.Application.DoEvents();
    so.Write(by, 0, osize);
    if (prog != null)
    {
    prog.Value = (int)totalDownloadedByte;
    }
    osize = st.Read(by, 0, (int)by.Length);

    percent = (float)totalDownloadedByte / (float)totalBytes * 100;
    label1.Text = "当前补丁下载进度" + percent.ToString() + "%";
    System.Windows.Forms.Application.DoEvents(); //必须加注这句代码,否则label1将因为循环执行太快而来不及显示信息
    }
    so.Close();
    st.Close();
    }
    catch (System.Exception)
    {
    throw;
    }
    }
    }
    }

  • 相关阅读:
    IOS图像处理(6)在内存上下文中绘图
    IOS图像处理(5)填充模式
    IOS图像处理(4)坐标变化
    IOS图像处理(3)绘制路径
    IOS图像处理(2)绘制文本
    IOS图像处理(1)绘制简单的几何图形
    containsString
    UIScrollView zoom in/out center
    Mac Sublime Text 2 快捷键(转)
    Characteristics with cached values must be read-only
  • 原文地址:https://www.cnblogs.com/tianxuan/p/4733437.html
Copyright © 2020-2023  润新知