将IP Camera中的图像保存到应用程序中的文件夹

时间:2014-10-14 19:59:27

标签: c# asp.net-mvc-4

我有一台连接到网络的摄像头,提供可以通过IP访问的图像。例如,像这样的东西。

http://170.1.2.3/image?camera=2

我收到了一个jpg文件,我可以使用普通的html轻松地在网页上显示。

<img src="http://170.1.2.3/image?camera=2" />

但是,不是简单地显示从页面加载时看到的相机图像,我还想使用MVC4应用程序将此图像本地保存到服务器。另外,在文件名中包含时间戳会很不错。我找不到一个看起来正确的例子,我没有运气。

让我们说我想从最基本的例子开始:

string imgUrl = "http://170.1.2.3/image?camera=2";
savelocally(imgurl, "newfilename-"+DateTime.Now.ToString());

..和savelocally()应将文件放在&#34;〜/ Uploads&#34;中。我该怎么做呢?我遇到的所有示例都是从桌面上传文件。我不知道如何将其翻译成抓取远程图像。

更新

正如评论所指出的,这是一个不完整的答案。

string url = "http://170.1.2.3/image?camera=2";
string localFilename = @"C:\Projects\MvcApplication1\MvcApplication1\Uploads\tofile.jpg";
using (WebClient client = new WebClient())
{
    client.DownloadFile(url, localFilename);
}

它有效,但我不喜欢文件路径是绝对路径的事实。我尝试用〜/ Uploads / tofile.jpg替换localFilename但是它会导致执行错误。如果可能,我想避免为上传文件夹设置固定位置。

0 个答案:

没有答案