将图像(打印屏幕)保存为FTP错误?

时间:2014-01-31 23:02:31

标签: c# ftp screenshot

我试图制作一个非常简单的应用程序,将当前屏幕保存到FTP目录。

定时器设置为5-10秒(它必须足够......):

private void timer1_Tick(object sender, EventArgs e)
{
    timer1.Interval = int.Parse(textBox4.Text)*1000;
    Bitmap printscreen = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height);

    Graphics graphics = Graphics.FromImage(printscreen as Image);
    int posx = int.Parse(textBox1.Text);
    int posy = int.Parse(textBox2.Text);

    graphics.CopyFromScreen(posx, posy, 0, 0, printscreen.Size);

    printscreen.Save(@"C:\Teszt\printscreen.jpg", ImageFormat.Jpeg);

    FtpWebRequest request = (FtpWebRequest)FtpWebRequest.Create("ftp://neo-inv.com/" + "/public_html/filename.jpg");
    request.Method = WebRequestMethods.Ftp.UploadFile;
    request.Credentials = new NetworkCredential("xx", "xxxx");
    request.UseBinary = true;
    printscreen.Save(request.GetRequestStream(), ImageFormat.Png);

}

我收到错误:

  

WebException未处理   例外:抓住:操作已经超时。   Excepton:抛出:操作已经超时。

第一个计时器周期正常,第二个或第三个计时器始终是这个例外。非常感谢你的帮助!

1 个答案:

答案 0 :(得分:0)

FtpWebRequest request = (FtpWebRequest)FtpWebRequest.Create("ftp://neo-inv.com/" + "/public_html/filename.jpg");

不会尝试向ftp://neo-inv.com//public_html/filename.jpg创建ftp请求。 双正斜杠可能会给你带来问题。