我需要将图像上传到服务器,请少于20行代码。而且没有关于服务的问题。我的老板希望它像过去的ftp一样工作......
答案 0 :(得分:1)
我不认为你的问题有20行解决方案。
但请查看此链接:
http://code.msdn.microsoft.com/Windows-8-SocketsFtp-4fc23b33#content
它包含一个适用于Windows 8.1 metro应用程序的完整Ftp客户端。
您可以将此项目用作您自己项目中的库。
如果你特别需要上传文件,我认为你需要在FtpClient类中使用 UploadFileAsync 函数
public async Task UploadFileAsync(StorageFile file, string destination)
{
using (var stream = await OpenWriteAsync(destination))
{
//
// A more efficient way, maybe a DataReader can be used here
using (var readStream = await file.OpenReadAsync())
{
var buffer = new byte[512].AsBuffer();
var resultingBuffer = new byte[0];
while (true)
{
IBuffer readBuffer = await readStream.ReadAsync(buffer, 512, InputStreamOptions.Partial);
if (readBuffer.Length == 0) break;
resultingBuffer = resultingBuffer.Concat(readBuffer.ToArray()).ToArray();
}
await stream.WriteAsync(resultingBuffer.AsBuffer());
await stream.FlushAsync();
}
}
}