如何从网上下载和保存图像?

我正在尝试制作一个Windows Phone 7应用程序,它将从网络上保存一些图像,我不知道我可以在哪里,或者我是否可以将图像从网络保存到手机。

我该怎么做才能保存图像?

在手机上,您可以根据我在此处发布的项目使用HttbWebRequest(建议避免UI影响)或WebClient。

WindowsClient,HttpWebRequest和Windows Phone 7上的UI线程

然后,您可以将流传输并将其传递给此表单中的某些内容,以将其写入隔离存储。

private void PicToIsoStore(Stream pic) { using (var isoStore = IsolatedStorageFile.GetUserStoreForApplication()) { var bi = new BitmapImage(); bi.SetSource(pic); var wb = new WriteableBitmap(bi); using (var isoFileStream = isoStore.CreateFile("somepic.jpg")) { var width = wb.PixelWidth; var height = wb.PixelHeight; Extensions.SaveJpeg(wb, isoFileStream, width, height, 0, 100); } } } 

Jon是正确的你也可以使用MediaLibrary.SavePicture。 请注意,这会将图片与图片中心中的用户照片混合在一起。

这很简单

 private void PicToMediaLibary(Stream pic) { MediaLibrary lib = new MediaLibrary(); lib.SavePicture("blah", pic); } 

将其存储在独立存储中基本上是您的应用程序专用文件系统。

您可以使用WebClientWebRequest下载它们以获取原始字节。

然后,您可以相当容易地保存到隔离存储 – 但我不相信您可以保存在图片中心看到的任何位置,如果这是您的目标。 (我在Microsoft.Phone.Tasks命名空间中看不到任何相关内容。有一些任务可以捕获选择照片的相机,但不能保存一个。)

编辑:哦,我刚刚找到了办法。 您可以使用MediaLibrary类及其SavePicture方法……虽然这是在XNA中,所以我至少担心它可以在Silverlight应用程序中运行。 我知道一些XNA API 可以在Silverlight中运行,有些则不行。 值得尝试。