大家帮忙看看我的代码错在哪里?

销魂的西瓜 2010-11-22 08:56:57
FileStream input = new FileStream(strFileName, FileMode.Open);

int startbye = 0;
int allbye = (int)input.Length;
myProgressControl.Maximum = allbye;
myProgressControl.Minimum = 0;
int contentLen = input.Read(buffer, 0, buffer.Length);

while (contentLen!=0)
{
contentLen = input.Read(buffer, 0, buffer.Length);
startbye += contentLen;
lbl_ftpStakt.Text = "正在上传文件:" + filename + ".exe,已上传:" + (int)(startbye / 1024) + "KB" + "总长度:" + (int)(allbye / 1024) + "KB";
socketData.Send(buffer, contentLen, 0);
myProgressControl.Value = startbye;
}
input.Close();


1。首先,进度条每次跑到1/3就倒回去重新从起点处跑
2。文件上传最后老是没上传完就停止了,,老差那么点
...全文
88 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
anselm90 2010-11-22
  • 打赏
  • 举报
回复
学习来的。。帮楼主顶起
机器人 2010-11-22
  • 打赏
  • 举报
回复
...

int contentLen = input.Read(buffer, 0, buffer.Length);
int bytesToRead = allbye;

while (bytesToRead > 0)

{
contentLen = input.Read(buffer, startbye, buffer.Length);
startbye += contentLen;
bytesToRead -= contentLen;

lbl_ftpStakt.Text = "正在上传文件:" + filename + ".exe,已上传:" + (int)(startbye / 1024) + "KB" + "总长度:" + (int)(allbye / 1024) + "KB";
socketData.Send(buffer, contentLen, 0);
myProgressControl.Value = startbye;
}

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧