问题描述
winform(c#),如何实现判断某文件是否成功上传到服务器请大家指教最好可以给些代码让我学习,多谢!
解决方案
解决方案二:
而且,怎么判断上传是否完成呢?请大家帮忙
解决方案三:
如果是用ftp上传的话。你每次上传前应该告诉服务器你上传这个文件的大小。当你读字节流总数等于文件的总额时,这个时候就上传结束了。
解决方案四:
FileInfofileInf=newFileInfo(filename);stringuri="ftp://"+ftpServerIP+"/"+fileInf.Name;FtpWebRequestreqFTP;//根据uri创建FtpWebRequest对象reqFTP=(FtpWebRequest)FtpWebRequest.Create(newUri("ftp://"+ftpServerIP+"/"+fileInf.Name));//ftp用户名和密码reqFTP.Credentials=newNetworkCredential(ftpUserID,ftpPassword);//默认为true,连接不会被关闭//在一个命令之后被执行reqFTP.KeepAlive=false;//指定执行什么命令reqFTP.Method=WebRequestMethods.Ftp.UploadFile;//指定数据传输类型reqFTP.UseBinary=true;//上传文件时通知服务器文件的大小reqFTP.ContentLength=fileInf.Length;//缓冲大小设置为2kbintbuffLength=2048;byte[]buff=newbyte[buffLength];intcontentLen;//打开一个文件流(System.IO.FileStream)去读上传的文件FileStreamfs=fileInf.OpenRead();try{//把上传的文件写入流Streamstrm=reqFTP.GetRequestStream();//每次读文件流的2kbcontentLen=fs.Read(buff,0,buffLength);//流内容没有结束while(contentLen!=0){//把内容从filestream写入uploadstreamstrm.Write(buff,0,contentLen);contentLen=fs.Read(buff,0,buffLength);}//关闭两个流strm.Close();fs.Close();}catch(Exceptionex){MessageBox.Show(ex.Message,"UploadError");}}