C# 从web下载图像并存储在媒体库中(windows phone 8)
我正在尝试从网上下载一张图片,并将其保存在媒体库中,下面是我的代码,我是否遗漏了一些内容,提前谢谢C# 从web下载图像并存储在媒体库中(windows phone 8),c#,windows-phone-7,windows-phone-8,C#,Windows Phone 7,Windows Phone 8,我正在尝试从网上下载一张图片,并将其保存在媒体库中,下面是我的代码,我是否遗漏了一些内容,提前谢谢 public void storePicture() { try { using (IsolatedStorageFile myIsolatedStorage = IsolatedStorageFile.GetUserStoreForApplication()) {
public void storePicture()
{
try
{
using (IsolatedStorageFile myIsolatedStorage = IsolatedStorageFile.GetUserStoreForApplication())
{
string url = @"http://mynokiablog.com/wp-content/uploads/2012/11/wp8.jpeg";
BitmapImage storeimage = new BitmapImage(new Uri(url));
// height and width are 0
int testheight = storeimage.PixelHeight;
int testwidth = storeimage.PixelWidth;
IsolatedStorageFileStream fileStream = myIsolatedStorage.CreateFile("testname");
// NullRefrenceException
WriteableBitmap wb = new WriteableBitmap(storeimage);
wb.SaveJpeg(fileStream, wb.PixelWidth, wb.PixelHeight, 0, 85);
fileStream.Close();
}
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(ex.Message);
}
}
你可以试试:
希望这有帮助。您可以试试:
private void LoadIMG()
{
var bitmapImage = new BitmapImage { CreateOptions = BitmapCreateOptions.None };
bitmapImage.ImageOpened += bitmapImage_ImageOpened;
bitmapImage.ImageFailed += bitmapImage_ImageFailed;
bitmapImage.DownloadProgress += bitmapImage_DownloadProgress;
bitmapImage.UriSource = new Uri("http://ds.serving-sys.com/BurstingRes///Site-16990/Type-0/7b912e70-352a-454f-8ea7-5d5ecd6ebfae.gif");
}
private void bitmapImage_DownloadProgress(object sender, DownloadProgressEventArgs e)
{
}
private void bitmapImage_ImageFailed(object sender, ExceptionRoutedEventArgs e)
{
}
private void bitmapImage_ImageOpened(object sender, RoutedEventArgs e)
{
var userStoreForApplication = IsolatedStorageFile.GetUserStoreForApplication();
var writeableBitmap = new WriteableBitmap(sender as BitmapImage);
var isolatedStorageFileStream = userStoreForApplication.CreateFile("Myfile.gif");
writeableBitmap.SaveJpeg(isolatedStorageFileStream, writeableBitmap.PixelWidth, writeableBitmap.PixelHeight, 0, 85);
}
希望这有帮助。添加事件处理程序,如下所示
private void LoadIMG()
{
var bitmapImage = new BitmapImage { CreateOptions = BitmapCreateOptions.None };
bitmapImage.ImageOpened += bitmapImage_ImageOpened;
bitmapImage.ImageFailed += bitmapImage_ImageFailed;
bitmapImage.DownloadProgress += bitmapImage_DownloadProgress;
bitmapImage.UriSource = new Uri("http://ds.serving-sys.com/BurstingRes///Site-16990/Type-0/7b912e70-352a-454f-8ea7-5d5ecd6ebfae.gif");
}
private void bitmapImage_DownloadProgress(object sender, DownloadProgressEventArgs e)
{
}
private void bitmapImage_ImageFailed(object sender, ExceptionRoutedEventArgs e)
{
}
private void bitmapImage_ImageOpened(object sender, RoutedEventArgs e)
{
var userStoreForApplication = IsolatedStorageFile.GetUserStoreForApplication();
var writeableBitmap = new WriteableBitmap(sender as BitmapImage);
var isolatedStorageFileStream = userStoreForApplication.CreateFile("Myfile.gif");
writeableBitmap.SaveJpeg(isolatedStorageFileStream, writeableBitmap.PixelWidth, writeableBitmap.PixelHeight, 0, 85);
}
storeimage.ImageOpened += bitmapImage_ImageOpened;
storeimage.ImageFailed += bitmapImage_ImageFailed;
storeimage.DownloadProgress += bitmapImage_DownloadProgress;
然后在bitmapImage_DownloadProgress中,创建可写位图并保存,添加事件处理程序,如下所示
storeimage.ImageOpened += bitmapImage_ImageOpened;
storeimage.ImageFailed += bitmapImage_ImageFailed;
storeimage.DownloadProgress += bitmapImage_DownloadProgress;
然后在bitmapImage_DownloadProgress中,创建可写位图并保存Hi lumen我不想使用webclient,我已使用BitmapImageHi lumen发布解决方案我不想使用webclient,我已使用bitmapImage发布解决方案