ウェブサイトから画像をクリックした後、画像のURLをキャプチャして任意のコンテナに保存し、画像を分離されたストレージに保存したいと思います。
このためのコードを提供できる人はいますか?
ありがとう
ウェブサイトから画像をクリックした後、画像のURLをキャプチャして任意のコンテナに保存し、画像を分離されたストレージに保存したいと思います。
このためのコードを提供できる人はいますか?
ありがとう
画像をダウンロードするには、URIを取得する必要があります。あなたがそれを手に入れるとすぐにそれはかなり簡単です:
public class ServiceImageDownloader
{
private readonly BitmapImage _downloadedBmpImage = new BitmapImage();
public ServiceImageDownloader()
{
_downloadedBmpImage.ImageOpened += DownloadedBmpImageImageOpened;
_downloadedBmpImage.ImageFailed += DownloadedBmpImageImageFailed;
_downloadedBmpImage.CreateOptions = BitmapCreateOptions.BackgroundCreation;
}
public void DownloadImage(string imageUri)
{
_downloadedBmpImage.UriSource = imageUri;
}
private void DownloadedBmpImageImageOpened(object sender, RoutedEventArgs e)
{
try
{
OnImageDownloaded(new WriteableBitmap(_downloadedBmpImage));
}
catch
{
//manage other classic errors
}
}
private void OnImageDownloaded(WriteableBitmap wbImTemp)
{
//here you get your image as a writeableBmp and you can do whatever you wish,
//as save it in your IS in your example
}
}
ISの場合は、イメージをストリームとして、またはシリアル化可能なオブジェクトとして使用することをお勧めします。それはそのようなものかもしれません:
public bool WriteImage(string imageName, Stream streamImage)
{
IsolatedStorageFile store = null;
Stream stream = null;
try
{
using (store = IsolatedStorageFile.GetUserStoreForSite())
{
// Open/Create the file for writing
stream = new IsolatedStorageFileStream(imageName,
FileMode.Create, FileAccess.Write, store);
streamImage.CopyTo(stream);
stream.Close();
streamImage.Close();
}
return true;
}
catch (Exception ie)
{
//manage error the way you prefer (think especially to quota management)
}
}
それが役に立てば幸い。