C#服务端的上传和下载问题

问题描述

我新手刚入门想练练别人写了服务端的上传让我写下载部分代码给了我要求但是不会写啊求大家支援求给代码publicboolUpload(Stringsender,Stringreceiver,UploadFile_upfile,outCustomExceptionServiceError){ServiceError=null;//MemoryStreamms=newMemoryStream(_upfile.data);try{//1根据用户名检查/创建目录//2把文件保存到目录下,如果文件存在,则覆盖//3检查用户接收端是否在线,若在线则发送通知(反向契约),若不在线,则缓存消息try{StringDirectoryName=sender+"Files";StringFileName=_upfile.filename;if(!Directory.Exists(DirectoryName)){Directory.CreateDirectory(DirectoryName);}StringPathName=Path.Combine(DirectoryName,FileName);File.Copy(_upfile.filename,FileName,true);FileStreamfs=newFileStream(PathName,FileMode.Open);Byte[]data=newByte[1024];Byte[]temp=newByte[0];while(fs.Read(data,0,1024)>0){Byte[]newTemp=newByte[temp.Length+data.Length];Array.Copy(data,0,newTemp,temp.Length,data.Length);temp=newTemp;}data=temp;_upfile.data=data;StringstrMessage="";//接收者在线则发送消息IWCFServiceCallBacksc=OperationContext.Current.GetCallbackChannel<IWCFServiceCallBack>();sc.SendMessage(strMessage,receiver);}catch(Exceptionex){ServiceError=newCustomException(ex);returnfalse;}returntrue;}catch(Exceptionex){ServiceError=newCustomException(ex);returnfalse;}}///<summary>///用户在反向契约中,收到发送者发送文件的提示后,通过本方法,获取文件///</summary>///<paramname="sender"></param>///<paramname="fileName"></param>///<paramname="ServiceError"></param>///<returns></returns>publicUploadFileDownload(Stringsender,StringfileName,StringDir,outCustomExceptionServiceError){ServiceError=null;UploadFileuf=newUploadFile();//stringPath=Dir+fileName;try{//1根据sender和filename找到文件//2构造UploadFile对象//3返回这个对象}catch(Exceptionex){ServiceError=newCustomException(ex);}returnuf;}我是在下载那块//1根据sender和filename找到文件//2构造UploadFile对象//3返回这个对象

解决方案

解决方案二:
你先问他要来客户端的上传代码服务端的下载,不就是把客户端的上传过程倒过来就行了上传:客户端发送,服务端接收下载:服务端发送,客户端接收
解决方案三:
参见:
解决方案四:
服务器端下载文件protectedvoiddFile(){//判断是否选择文件名if(LisBoxFile.SelectedValue!=""){if(Session["txt"]!=""){//获取文件路径stringpath=Server.MapPath("File/")+Session["txt"].ToString();//初始化FileInfo类的实例,它作为文件路径的包装FileInfofi=newFileInfo(path);//判断文件是否存在if(fi.Exists){//将文件保存到本机上Response.Clear();Response.AddHeader("Content-Disposition","attachment;filename="+Server.UrlEncode(fi.Name));Response.AddHeader("Content-Length",fi.Length.ToString());Response.ContentType="application/octet-stream";Response.Filter.Close();Response.WriteFile(fi.FullName);Response.End();}}}else{Page.RegisterStartupScript("sb","<script>alert('请您先选择文件名')</script>");}}
解决方案五:
干货来了,可能要付出一点小的代价,值不值自己衡量~http://download.csdn.net/detail/chenandczh/3661723
解决方案六:
下载类很多,http://www.cnblogs.com/wang726zq/archive/2012/07/30/ftp.html

时间: 2024-11-08 19:10:14

C#服务端的上传和下载问题的相关文章

MyBatis与SpringMVC相结合实现文件上传、下载功能_java

环境:maven+SpringMVC + Spring + MyBatis + MySql 本文主要说明如何使用input上传文件到服务器指定目录,或保存到数据库中:如何从数据库下载文件,和显示图像文件并实现缩放. 将文件存储在数据库中,一般是存文件的byte数组,对应的数据库数据类型为blob. 首先要创建数据库,此处使用MySql数据库. 注意:文中给出的代码多为节选重要片段,并不齐全. 1. 前期准备 使用maven创建一个springMVC+spring+mybatis+mysql的项目

WSE3.0构建Web服务安全(4) MTOM消息传输优化和文件上传、下载

MTOM消息优化传输机制主要应用于大量数据的传输,很多文章中也直接得出结论:使用MTOM文件传输效率高.为什么MTOM的数据传输效率会比别的方式要高?MTOM真的如此完美吗,它有什么不足?什么情况下使用MTOM?这些疑问,本文WSE3.0构建Web服务安全系列文章的第4节:MTOM消息优化传输机制和文件上传.下载--将为您一一解答.本节结构为1.MTOM基础概念2.WSE3.0工具配置MTOM3.代码实现与分析4.总结.最后附上实现代码供大家参考. WSE3.0中引入MTOM机制,给我们借助WS

linux基础命令(26) 用SecureCRT来上传和下载文件

用SSH管理linux服务器时经常需要远程与本地之间交互文件.而直接用SecureCRT自带的上传下载功能无疑是最方便的, SecureCRT下的文件传输协议有ASCII.Xmodem.Zmodem. 文件传输协议: 文件传输是数据交换的主要形式.在进行文件传 输时,为使文件能被正确识别和传送,我们需要在两台计算机之间建立统一的传输协议.这个协议包括了文件的识别.传送的起 止时间.错误的判断与纠正等内容.常见的传输协议有以下几种: ASCII:这是最快的传输协议,但只能传送文本文件. Xmode

Android高效率编码-第三方SDK详解系列(二)——Bmob后端云开发,实现登录注册,更改资料,修改密码,邮箱验证,上传,下载,推送消息,缩略图加载等功能

Android高效率编码-第三方SDK详解系列(二)--Bmob后端云开发,实现登录注册,更改资料,修改密码,邮箱验证,上传,下载,推送消息,缩略图加载等功能 我的本意是第二篇写Mob的shareSDK分享组件的,奈何需要去注册各平台的账号,还要审核,有些审核还挺久,就没办法,改为写这个Bmob了,相信大家对Bmob都是挺期待的吧,因为他作为Android后端的实现很好的支持,国内很多软件都在使用它,他的功能也是特别神奇,这里就不一一细说了,我们用实际的例子来见证他的神奇 官网:http://w

与众不同 windows phone (13) - Background Task(后台任务)之后台文件传输(上传和下载)

原文:与众不同 windows phone (13) - Background Task(后台任务)之后台文件传输(上传和下载) [索引页][源码下载] 与众不同 windows phone (13) - Background Task(后台任务)之后台文件传输(上传和下载) 作者:webabcd 介绍与众不同 windows phone 7.5 (sdk 7.1) 之后台任务 后台文件传输(下载) 后台文件传输(上传) 示例1.演示如何实现后台文件传输(下载)BackgroundTransfe

jQuery移动端图片上传组件_jquery

本文实例为大家分享了移动端图片上传组件,供大家参考,具体内容如下 Imageupload使用File API+canvas 客户端压缩图片,并实现文件上传服务端 文件依赖 JQUERY 参数API loading:'.loading', 页面显示loading的图标selector url:'', 接收数据的api接口地址 maxFileSize:1010241024, 服务端支持的最大单文件大小 format:/^image/i, 支持的文件格式. images text ..... isCo

用SecureCRT来上传和下载数据

今天才知道,原来SecureCRT可以使用linux下的zmodem协议来快速的传送文件,而且还使用非常方便哦,我还傻傻的找其他软件来sftp,笨死了:( 你只要设置一下上传和下载的默认目录就行options-->session options-->file transfer 下可以设置上传和下载的目录 剩下的你只要在用SecureCRT登陆linux终端的时候: 发送文件到客户端: sz filename zmodem接收可以自行启动.   从客户端上传文件到linux服务端:只要服务端执行

如何在SecureCRT上安装使用lrzsz上传和下载

系统环境:CentOS 6.3_64bit 本文档描述了如何在SecureCRT上安装使用lrzsz上传和下载. SecureCRT是一个多标签远程登录终端,使用它可以远程连接Telnet 或SSH 服务.系统管理员使用它来连接linux服务器. lrzsz是一个搭配SecureCRT使用的上传下载工具,能方便的在本地PC机和远程服务器之间传输文件. lrzsz的安装很方便,你可以从系统安装盘或者是互联网上的yum源中得到它. 由上述现象可知,很可能没有安装相应的软件包:sz .rz  命令所需

关于如何实现FTP上传或者下载带进度和速率的实现方法

中介交易 SEO诊断 淘宝客 云主机 技术大厅 在这里需要说明的是,该方式是通过其他代码进行改进的. 首先我们需要定义一个委托,用来实现传输过程中传递文件的总数,已完成的字节数和速度,方便客户端界面上调用. public delegate void TransferProcess(long total,long finished,double speed); 调用代码就不举例了 接下来我们建立一个FTPClient类,该类基于socket和FTP协议实现了连接FTP服务,建立目录,上传文件,下载