如何将手机拍摄的图像保存到Windows Phone 8.1中的本地文件夹

时间:2015-08-19 02:46:11

标签: c# image stream windows-phone-8.1

有没有办法可以将图像作为Stream获取,然后将其存储在本地以将其上传到服务器?

到目前为止,我发现下面的代码允许我将图像加载到图像视图,但是如何从图像源创建流以将其传递给SaveToLocalFolderAsync方法?

    private async void viewActivated(CoreApplicationView sender, IActivatedEventArgs args1)
    {

        FileOpenPickerContinuationEventArgs args = args1 as FileOpenPickerContinuationEventArgs;

        if (args != null)
        {
            if (args.Files.Count == 0) return;
            view.Activated -= viewActivated;
            StorageFile storageFile = args.Files[0];
            var stream = await storageFile.OpenAsync(Windows.Storage.FileAccessMode.Read);
            var bitmapImage = new Windows.UI.Xaml.Media.Imaging.BitmapImage();
            await bitmapImage.SetSourceAsync(stream);
            var decoder = await Windows.Graphics.Imaging.BitmapDecoder.CreateAsync(stream);
            imgCover.Source = bitmapImage;



            //save the image in local folder

            //SaveToLocalFolderAsync(stream, "Test.jpg");

        }
    }




  public async Task SaveToLocalFolderAsync(Stream file, string fileName)
    {
        StorageFolder localFolder = ApplicationData.Current.LocalFolder;
        StorageFile storageFile = await localFolder.CreateFileAsync(fileName, CreationCollisionOption.ReplaceExisting);
        using (Stream outputStream = await storageFile.OpenStreamForWriteAsync())
        {
            await file.CopyToAsync(outputStream);
        }
    }

0 个答案:

没有答案