Невозможно создать папку и отобразить изображение с помощью эмулятора WP7 - PullRequest
0 голосов
/ 08 марта 2012

Я новичок в разработке wp7, пытаясь на простом примере:изображение в новую папку, которую мне нужно создать.

У меня есть код ниже, и я не получаю никаких ошибок, но проблема в том, что я не могу создать каталог и сохранить существующее изображение в эту папку.*

Я не могу увидеть каталог, а также изображение после его сохранения.

Можем ли мы увидеть папку в эмуляторе (Или) Возможно, что мы увидим созданный каталог наWindows Phone?

Imports System.IO
Imports Microsoft.Phone.Tasks
Imports System.IO.IsolatedStorage
Imports System.Windows.Media.Imaging

Partial Public Class Page1
    Inherits PhoneApplicationPage

    Public Sub New()
        InitializeComponent()
        photoChooserTask = New PhotoChooserTask()
        AddHandler photoChooserTask.Completed, AddressOf photoChooserTask_Completed
    End Sub
    Dim photoChooserTask As PhotoChooserTask
    Private Sub photoChooserTask_Completed(sender As Object, e As PhotoResult)
        Dim bmp As System.Windows.Media.Imaging.BitmapImage = New System.Windows.Media.Imaging.BitmapImage()
        bmp.SetSource(e.ChosenPhoto)
        Image1.Source = bmp
        Dim originalFilename = Path.GetFileName(e.OriginalFileName)
        SaveImage(e.ChosenPhoto, originalFilename, 0, 100)

    End Sub
    Public Shared Sub SaveImage(ByVal imageStream As Stream, ByVal fileName As String, ByVal orientation As Integer, ByVal quality As Integer)
        Using isolatedStorage = IsolatedStorageFile.GetUserStoreForApplication()
            If isolatedStorage.FileExists("NewPics\fileName") Then
                isolatedStorage.DeleteFile("NewPics\fileName")
            End If

            If Not isolatedStorage.DirectoryExists("NewPics") Then
                isolatedStorage.CreateDirectory("NewPics")
            End If


            'isolatedStorage.CreateDirectory("NewPics")
            'Dim fileStream As New IsolatedStorageFileStream("fileName", FileMode.Create, isolatedStorage)
            Dim fileStream = isolatedStorage.CreateFile("NewPics\" + fileName)
            Dim bitmap = New BitmapImage()
            bitmap.SetSource(imageStream)

            Dim wb = New WriteableBitmap(bitmap)
            wb.SaveJpeg(fileStream, wb.PixelWidth, wb.PixelHeight, orientation, quality)
            fileStream.Close()
        End Using
    End Sub
    Private Sub Button1_Click(sender As Object, e As System.Windows.RoutedEventArgs) Handles Button1.Click
        Try
            photoChooserTask.Show()

        Catch ex As System.InvalidOperationException

            MessageBox.Show("An error occurred.")
        End Try
    End Sub
End Class

Кто-нибудь может сказать мне, где я делаю ошибку?

1 Ответ

1 голос
/ 09 марта 2012

Код идеален, проблема в том, что silverlight использует «изолированное хранилище» для хранения файлов, которое, как следует из названия, является полностью изолированным хранилищем.Файл или каталог, созданные вашим приложением, будут доступны только из вашего приложения.

Я думаю, что эмулятор хранит файлы изолированного хранилища только в памяти, поскольку он не должен сохранять их после перезагрузки.Если вы хотите легко увидеть изолированное хранилище вашего приложения, вы можете использовать такой инструмент, как Wp7 Explorer: http://wp7explorer.codeplex.com/

...