C/S程序通过WEB SERVICE下载文件!
现在我做了一个C/S调用WEBSERVICE服务的程序,想在通过调用服务器上的方法来实现下载.现在的问题是,只是可以下载比较小的文件,请哪位朋友有好的方法指教一下!谢谢!...
现在我做了一个C/S调用WEB SERVICE服务的程序,想在通过调用服务器上的方法来实现下载.现在的问题是,只是可以下载比较小的文件,请哪位朋友有好的方法指教一下!谢谢!
最好有详细的解决方法!新方法也请详细些!谢谢! 展开
最好有详细的解决方法!新方法也请详细些!谢谢! 展开
6个回答
展开全部
大的文件通过ftp的比较多,一是支持断点续传,另外一个稳定性也比http吞吐文件流要好一些,下载也快
----------------------------------------------------------------
longqi293 - 举人 四级的意思是在服务器端建立一个基于完成端口机制的TCP文件传输系统,它本质上和FTP协议没有区别,怎么会比FTP安全?而且工作量会大大增加。
我给你的建议是不要使用webservice下载,你的服务器端单开一个ftp服务器,服务器你可以使用ntpost插件+SqlServer数据库,你可以用WebService根据每个连接重新分配权限并产生随机用户户,将用户名和密码返回到客户端,在客户端发起ftp连接请求,这样还可以自行启动下载软件。
请求的url格式为:
ftp://username:password@ServerAddress
----------------------------------------------------------------
longqi293 - 举人 四级的意思是在服务器端建立一个基于完成端口机制的TCP文件传输系统,它本质上和FTP协议没有区别,怎么会比FTP安全?而且工作量会大大增加。
我给你的建议是不要使用webservice下载,你的服务器端单开一个ftp服务器,服务器你可以使用ntpost插件+SqlServer数据库,你可以用WebService根据每个连接重新分配权限并产生随机用户户,将用户名和密码返回到客户端,在客户端发起ftp连接请求,这样还可以自行启动下载软件。
请求的url格式为:
ftp://username:password@ServerAddress
展开全部
建议用流来下载,这是代码,原创哦!!
public void Accessories(byte[] fs, string FileName,string filter)//下载附件
{
try
{
string paths = FileName + "."+filter;
MemoryStream m = new MemoryStream(fs);
FileStream f = new FileStream(paths, FileMode.CreateNew);
m.WriteTo(f);
m.Close();
f.Close();
MessageBox.Show("下载成功");
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
}
做过测试,最大能到10M,但相对慢,能运行倒是,不过不知道是不是你所说的小文件想对于的大文件呢?还有这和网速还有电脑配置有关系哦!
public void Accessories(byte[] fs, string FileName,string filter)//下载附件
{
try
{
string paths = FileName + "."+filter;
MemoryStream m = new MemoryStream(fs);
FileStream f = new FileStream(paths, FileMode.CreateNew);
m.WriteTo(f);
m.Close();
f.Close();
MessageBox.Show("下载成功");
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
}
做过测试,最大能到10M,但相对慢,能运行倒是,不过不知道是不是你所说的小文件想对于的大文件呢?还有这和网速还有电脑配置有关系哦!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
为啥不用WebClient(或WebRequest/WebResponse)?
WEB SERVICE是基于xml的文本传输,虽说也能传文件,但这不是它的强项。
ps:只可以下载较小的文件,那你看下打包和拼接文件的时候对不对,
WEB SERVICE是基于xml的文本传输,虽说也能传文件,但这不是它的强项。
ps:只可以下载较小的文件,那你看下打包和拼接文件的时候对不对,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ftp好一些,web service的确不适合用来做你说的下载文件,这里有个思路,c/s调用web service,触发服务器端的一个服务程序响应链接上来的客户端,两端建立tcp链接,这个就比较安全(比ftp安全很多),而且网络上有相应的发送大文件的代码,可以借鉴过来。
参考资料: 经验
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
沃野像知道
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
9楼的方法比较到位.
只要传文件的话.连Web Service都可以不用啊.直接用Socket收发不就完了吗?
只要传文件的话.连Web Service都可以不用啊.直接用Socket收发不就完了吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询