📄 subject_61013.htm
字号:
<p>
序号:61013 发表者:刘畅 发表日期:2003-11-17 13:31:43
<br>主题:如何用C#作了一个WebService 服务器 ,实现文件的上传和下载
<br>内容:如何用C#作了一个WebService 服务器 ,实现文件的上传和下载,支持断点续传和多线程??
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:Toy 回复日期:2003-11-17 23:42:10
<br>内容:基本上我做了个类似的东西<BR>是用流的方式把客户端传的文件送到数据库中<BR>然后再从数据库中提出文件来提供下载<BR>但是上传不能支持断点续传和多线程<BR>下载可以使用工具,比如flashget等<BR><BR>我现在还有些问题没解决<BR>等解决了把关键部分贴出来吧
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:刘畅 回复日期:2003-11-18 10:53:34
<br>内容:多线程<BR>public bool DownLoadFileFromRemoteHost(string strURL)<BR> {<BR> strRemoteURL = strURL;<BR> Thread MultipleThread= new Thread(new ThreadStart(StartDownload)); <BR> if( MultipleThread != null)<BR> {<BR> MultipleThread.Priority = ThreadPriority.Lowest;<BR> MultipleThread.Start();<BR> return true;<BR> }<BR> else<BR> {<BR> return false;<BR> }<BR> <BR> } <BR><BR> private void StartDownload() <BR> { <BR> <BR> string URL = strRemoteURL; <BR> int n = URL.LastIndexOf('/'); <BR> string URLAddress = URL.Substring(0,n); <BR> string fileName = URL.Substring(n+1,URL.Length-n-1); <BR> string Dir = strLocalURL.ToString().Trim(); <BR> string Path = Dir+'\\'+fileName; <BR> <BR> try <BR> { <BR> WebRequest myre=WebRequest.Create(URLAddress); <BR> } <BR> catch(WebException exp) <BR> { <BR> HttpContext.Current.Response.Write(" + exp.Message +");<BR> } <BR> <BR> try <BR> { <BR> RemoteClient.DownloadFile(URLAddress,fileName); <BR> Stream str = RemoteClient.OpenRead(URLAddress); <BR> StreamReader reader = new StreamReader(str); <BR> byte[] mbyte = new byte[100000]; <BR> int allmybyte = (int)mbyte.Length; <BR> int startmbyte = 0; <BR> while( allmybyte > 0 ) <BR> { <BR> int m = str.Read(mbyte,startmbyte,allmybyte); <BR> if(m==0) <BR> break; <BR> <BR> startmbyte+=m; <BR> allmybyte-=m; <BR> } <BR> <BR> FileStream fstr = new FileStream(Path,FileMode.OpenOrCreate,FileAccess.Write); <BR> fstr.Write(mbyte,0,startmbyte); <BR> str.Close(); <BR> fstr.Close(); <BR> } <BR> catch(WebException exp) <BR> { <BR> string ErrorMsg = exp.Message;<BR> <BR> HttpContext.Current.Response.Write( exp.Message ); <BR> }<BR> }
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:刘畅 回复日期:2003-11-18 11:05:19
<br>内容:上面的程序总是返回错误信息:未经授权<BR>那位大虾知道如何解决??
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:刘畅 回复日期:2003-11-18 13:10:27
<br>内容:程序
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:Toy 回复日期:2003-11-18 13:20:33
<br>内容:实现文件的上传和下载<BR>雷神已经贴出来了<BR>回在主题为“关于文件上传下载的问题 ”里面<BR><BR>再次感谢雷神的帮助
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:刘畅 回复日期:2003-11-18 20:09:16
<br>内容:这个我条通了
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:刘畅 回复日期:2003-11-18 20:10:21
<br>内容:kkk
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -