private void DownLoadFile()
{
Trans_Transing = true;
string strFileName = Trans_szFileName;
try
{
string strUU = @" http://*.*.*/*.asp";
Trans_szTextShow = "正在建立连接...";
HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(strUU);
myRequest.Method = "POST";
string strData = strFileName;
myRequest.ContentLength = strData.Length;
Stream newStream = myRequest.GetRequestStream();
if (Trans_endThread) //用户结束
{
if (MessageBox.Show("正在发送数据,您确定要取消当前操作?", "提醒", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.Yes)
{
newStream.Close();
Trans_Transing = false;
return;
}
}
Trans_szTextShow = "连接成功,正在发送数据";
ASCIIEncoding encoding = new ASCIIEncoding();
byte[] byte1 = encoding.GetBytes(strData);
newStream.Write(byte1, 0, byte1.Length);
newStream.Close();
if (Trans_endThread) //用户结束
{
if (MessageBox.Show("正在等待网络回复,您确定要取消当前操作?", "提醒", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.Yes)
{
Trans_Transing = false;
return;
}
}
Trans_szTextShow = "发送成功,等待回应";
WebResponse response = null;
try
{
response = myRequest.GetResponse();
}
catch (Exception error)
{
MessageBox.Show(error.Message);
}
Stream ReceiveStream = response.GetResponseStream();
Encoding encode = Encoding.Default;
StreamReader readStream = new StreamReader(ReceiveStream, encode);
char[] read = new char[256];
Trans_szTextShow = "";
Trans_MaxaProcessbar = (int)(response.ContentLength / 256);
int count = readStream.Read(read, 0, 256);
string str = new string(read, 0, count);
Trans_aProcessbar++;
Trans_strTempFileData = str;
while (count > 0)
{
if (Trans_endThread) //用户结束
{
if (MessageBox.Show("正在下载数据,您确定要取消下载操作?", "提醒", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.Yes)
{
readStream.Close();
ReceiveStream.Close();
Trans_Transing = false;
return;
}
}
count = readStream.Read(read, 0, 256);
if (count <= 0)
break;
Trans_aProcessbar++;
string st = new string(read, 0, count);
Trans_strTempFileData += st;
}
readStream.Close();
ReceiveStream.Close();
}
catch (Exception error)
{
MessageBox.Show(error.Message);
Trans_Transing = false;
return;
}
if (Trans_endThread) //用户结束
{
if (MessageBox.Show("文件下载,您确定要取消保存操作?", "提醒", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.Yes)
{
Trans_Transing = false;
return;
}
}
Trans_szTextShow = "文件传输完毕,正在保存";
Trans_Ret = WriteFile(strFileName);
Trans_Transing = false;
}
{
Trans_Transing = true;
string strFileName = Trans_szFileName;
try
{
string strUU = @" http://*.*.*/*.asp";
Trans_szTextShow = "正在建立连接...";
HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(strUU);
myRequest.Method = "POST";
string strData = strFileName;
myRequest.ContentLength = strData.Length;
Stream newStream = myRequest.GetRequestStream();
if (Trans_endThread) //用户结束
{
if (MessageBox.Show("正在发送数据,您确定要取消当前操作?", "提醒", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.Yes)
{
newStream.Close();
Trans_Transing = false;
return;
}
}
Trans_szTextShow = "连接成功,正在发送数据";
ASCIIEncoding encoding = new ASCIIEncoding();
byte[] byte1 = encoding.GetBytes(strData);
newStream.Write(byte1, 0, byte1.Length);
newStream.Close();
if (Trans_endThread) //用户结束
{
if (MessageBox.Show("正在等待网络回复,您确定要取消当前操作?", "提醒", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.Yes)
{
Trans_Transing = false;
return;
}
}
Trans_szTextShow = "发送成功,等待回应";
WebResponse response = null;
try
{
response = myRequest.GetResponse();
}
catch (Exception error)
{
MessageBox.Show(error.Message);
}
Stream ReceiveStream = response.GetResponseStream();
Encoding encode = Encoding.Default;
StreamReader readStream = new StreamReader(ReceiveStream, encode);
char[] read = new char[256];
Trans_szTextShow = "";
Trans_MaxaProcessbar = (int)(response.ContentLength / 256);
int count = readStream.Read(read, 0, 256);
string str = new string(read, 0, count);
Trans_aProcessbar++;
Trans_strTempFileData = str;
while (count > 0)
{
if (Trans_endThread) //用户结束
{
if (MessageBox.Show("正在下载数据,您确定要取消下载操作?", "提醒", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.Yes)
{
readStream.Close();
ReceiveStream.Close();
Trans_Transing = false;
return;
}
}
count = readStream.Read(read, 0, 256);
if (count <= 0)
break;
Trans_aProcessbar++;
string st = new string(read, 0, count);
Trans_strTempFileData += st;
}
readStream.Close();
ReceiveStream.Close();
}
catch (Exception error)
{
MessageBox.Show(error.Message);
Trans_Transing = false;
return;
}
if (Trans_endThread) //用户结束
{
if (MessageBox.Show("文件下载,您确定要取消保存操作?", "提醒", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.Yes)
{
Trans_Transing = false;
return;
}
}
Trans_szTextShow = "文件传输完毕,正在保存";
Trans_Ret = WriteFile(strFileName);
Trans_Transing = false;
}