C#/.net 下载服务器FTP 中的exe文件 出现“缓存”问题!该怎么解决呀?
绝版PC 2019-06-24 07:05:07
问题:服务器跟换了一个exe文件,部分客户端下载的还是之前的exe(大部分客户端正常)
同样路径方法下 下载非exe 文件正常!!!!!!
是客户端问题还是服务端问题?
是代码问题还是客户端电脑问题?
string UpdateFile = lvUpdateList.Items[i].Text.Trim();
string updateFileUrl = updateUrl + lvUpdateList.Items[i].Text.Trim();
long fileLength = 0;
WebRequest webReq = WebRequest.Create(updateFileUrl);
WebResponse webRes = webReq.GetResponse();
fileLength = webRes.ContentLength;
lbState.Text = "正在下载更新文件,请稍后...";
pbDownFile.Value = 0;
pbDownFile.Maximum = (int)fileLength;
Stream srm = webRes.GetResponseStream();
StreamReader srmReader = new StreamReader(srm);
byte[] bufferbyte = new byte[fileLength];
int allByte = (int)bufferbyte.Length;
int startByte = 0;
while (fileLength > 0)
{
Application.DoEvents();
int downByte = srm.Read(bufferbyte, startByte, allByte);
if (downByte == 0) { break; };
startByte += downByte;
allByte -= downByte;
pbDownFile.Value += downByte;
float part = (float)startByte / 1024;
float total = (float)bufferbyte.Length / 1024;
int percent = Convert.ToInt32((part / total) * 100);
this.lvUpdateList.Items[i].SubItems[2].Text = percent.ToString() + "%";
}
string tempPath = tempUpdatePath + UpdateFile;
CreateDirtory(tempPath);
FileStream fs = new FileStream(tempPath, FileMode.OpenOrCreate, FileAccess.Write);
fs.Write(bufferbyte, 0, bufferbyte.Length);
srm.Close();
srmReader.Close();
fs.Close();