Windows phone 7 为什么可以';使用Windows Phone 7 FTP应用程序上传

Windows phone 7 为什么可以';使用Windows Phone 7 FTP应用程序上传,windows-phone-7,ftp,Windows Phone 7,Ftp,我想通过FTP应用程序从WP7上传一张照片。如果我选择照片并单击上载按钮,服务器响应:503错误的命令序列 publicstaticvoiduploadfile(流文件、字符串远程文件) { SocketAsyncEventArgs SocketEventArgs=新的SocketAsyncEventArgs(); Socket socket2=新套接字(AddressFamily.InterNetwork、SocketType.Stream、ProtocolType.Tcp); 整数字节; 执

我想通过FTP应用程序从WP7上传一张照片。如果我选择照片并单击上载按钮,服务器响应:
503错误的命令序列

publicstaticvoiduploadfile(流文件、字符串远程文件)
{
SocketAsyncEventArgs SocketEventArgs=新的SocketAsyncEventArgs();
Socket socket2=新套接字(AddressFamily.InterNetwork、SocketType.Stream、ProtocolType.Tcp);
整数字节;
执行(“STOR”+远程文件);
AutoResetEvent sendCompleted=新的AutoResetEvent(假);
socketEventArg2.Completed+=委托{
sendCompleted.Set();
};
Seek(0,SeekOrigin.Begin);
而((字节=file.Read(buffer2,0,buffer2.Length))>0)
{
SetBuffer(buffer2,0,字节);
socket2.SendAsync(SocketEventTarget2);
sendCompleted.WaitOne();
}
file.Close();
}
此方法调用:

流ss=e.ChosenPhoto;
.
.
对于(int i=0;i

ss
变量是一种
类型,
文件名
变量是一个
字符串
,它是远程服务器的名称。

您需要做的不仅仅是用FTP调用
STOR
,文件传输是通过单独的连接进行的,而不是通过命令连接。有关更多详细信息,请参阅对的响应

编辑
我刚注意到这是WP7的。看起来您正试图在WP7上实现FTP。男孩,你是在一个世界的伤害。我有几点建议你可以考虑:

首先,一个简单但昂贵的方法是:购买一个第三方库,它可以通过套接字进行FTP,例如

第二,更复杂,更便宜,但可能更昂贵的长期方式:考虑创建一个中间的Web服务,它接受文件作为Web请求,然后使用服务器端传输文件。Azure将是你在那里的朋友,至少在上传开始占用带宽之前是这样


第三,在
FtpWebRequest
可用于WP7之前,不要支持FTP

您实际在哪里连接到ftp服务器,或提供用户名和密码,或更改到您有权上载到的文件夹?我在你的
上传文件中没有看到这些东西。