我试图制作一个非常简单的应用程序,将当前屏幕保存到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:抛出:操作已经超时。
第一个计时器周期正常,第二个或第三个计时器始终是这个例外。非常感谢你的帮助!
答案 0 :(得分:0)
FtpWebRequest request = (FtpWebRequest)FtpWebRequest.Create("ftp://neo-inv.com/" + "/public_html/filename.jpg");
不会尝试向ftp://neo-inv.com//public_html/filename.jpg创建ftp请求。 双正斜杠可能会给你带来问题。