调用
DownLoadFile.HttpDownload(@"http://39.127.0.1:8092/" + readerppp.GetString(2), "./img/" + readerppp.GetString(2));
工具
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Windows.Forms;
namespace TextWinform1
{
class DownLoadFile
{
public static bool HttpDownload(string url, string path)
{
string tempPath = System.IO.Path.GetDirectoryName(path);
if (!System.IO.Directory.Exists(tempPath))
System.IO.Directory.CreateDirectory(tempPath);
string tempFile = tempPath + "/" + System.IO.Path.GetFileName(path);
try
{
FileStream fs = new FileStream(tempFile, FileMode.Append, FileAccess.Write, FileShare.ReadWrite);
HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
HttpWebResponse response = request.GetResponse() as HttpWebResponse;
Stream responseStream = response.GetResponseStream();
byte[] bArr = new byte[1024];
int size = responseStream.Read(bArr, 0, (int)bArr.Length);
if (response.ContentLength != 0)
{
if (request.ContentLength > int.MaxValue)
{
MessageBox.Show("要下载的文件太大,超出范围!");
return false;
}
}
while (size > 0)
{
fs.Write(bArr, 0, size);
size = responseStream.Read(bArr, 0, (int)bArr.Length);
}
fs.Close();
responseStream.Close();
return true;
}
catch (Exception ex)
{
return false;
}
}
delegate void SetTextCallBack(string text, Label txt_a);
private static void SetText(string text, Label txt_a)
{
if (txt_a.InvokeRequired)
{
SetTextCallBack stcb = new SetTextCallBack(SetText);
txt_a.Invoke(stcb, new object[] { text, txt_a });
}
else
{
txt_a.Text = text;
}
}
public static string SendGetRequest(string url)
{
try
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "get";
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream response_stream = response.GetResponseStream();
int count = (int)response.ContentLength;
int offset = 0;
byte[] buf = new byte[count];
while (count > 0)
{
int n = response_stream.Read(buf, offset, count);
if (n == 0) break;
count -= n;
offset += n;
}
return Encoding.UTF8.GetString(buf);
}
catch
{
return null;
}
}
}
}
转载请注明原文地址:https://blackberry.8miu.com/read-37990.html