我正在试图通过Silverlight应用程序通过ftp文件到服务器。 凡位置上载服务器文件系统中的文件,存在对Web服务器的沙箱区域之外。 在这种情况下,web服务器根目录存在于“C:\测试\ WWW \”,并上传的文件将在存在位置的“C:\用户\上传”。 在此之情况我不知道,如果HTTP POST将工作(不使用web服务器根目录)。 我只需要上传用户选择,可能在沙箱外存在的不同位置的文件。 使用Silverlight我在想套接字我基于有限的端口范围为Silverlight是4502-4532最后的选择。 我能做到这一点使用的WebClient和HTTP POST? 我可以通过Silverlight的或JavaScript FTP连接?
Answer 1:
这是一个有趣的场景,因为它听起来像你正在做的这一切都在同一台机器(客户端和服务器)上。 我回答含糊原来的问题,并希望更多的数据,以帮助完全回答这个问题。
FTP上传本身不支持Silverlight,但上载文件的概念,通过数据的HTTP流。
如果你想从客户机做一个HTTP上传到服务器:您可以使用OpenFileDialog控件在Silverlight 2和3读取这些数据,然后使用Web客户端将其上传。
如果你想要做的东西而下载你的Web服务器可以发送到客户机上,那么你就需要使用Silverlight 3或更高版本,其特点是SaveFileDialog控制 。
所有的Silverlight文件对话框要求用户发起的行动为他们的工作,功能和用户将需要选择出于安全目的的文件名(一个或多个)。
希望这可以帮助!
Answer 2:
假设你的服务器是基于ASP.NET我会用一个简单的Web客户端POST到.ashx的处理程序。 有处理程序写入到后一个文件的身体在“C:\用户\上传”。
Answer 3:
只要FTP服务器是在同一台主机的Silverlight应用程序上,你可以使用插座和编写自己的FTP客户端,它不是很努力,有大量的例子在那里。
Answer 4:
在此期间,将其命名为Silverlight的5,插座有一个更新:与ClientAccessPolicy.xml
端口范围得到了提升和浏览器内升高,信任模式是可用的。
所以我创建sharpLightFtp ,使残留的的FTP。
文章来源: Silverlight Ftp Upload