Attualmente sto provando a salvare un flusso contenente un'immagine jpeg che sono tornato dalla fotocamera alla cartella di archiviazione locale. I file vengono creati ma purtroppo non contengono alcun dato. Ecco il codice che sto cercando di utilizzare:Salvataggio di un flusso contenente un'immagine nella cartella locale su Windows Phone 8
public async Task SaveToLocalFolderAsync(Stream file, string fileName)
{
StorageFolder localFolder = ApplicationData.Current.LocalFolder;
StorageFile storageFile = await localFolder.CreateFileAsync(fileName, CreationCollisionOption.ReplaceExisting);
using (IRandomAccessStream fileStream = await storageFile.OpenAsync(FileAccessMode.ReadWrite))
{
using (IOutputStream outputStream = fileStream.GetOutputStreamAt(0))
{
using (DataWriter dataWriter = new DataWriter(outputStream))
{
dataWriter.WriteBytes(UsefulOperations.StreamToBytes(file));
await dataWriter.StoreAsync();
dataWriter.DetachStream();
}
await outputStream.FlushAsync();
}
}
}
public static class UsefulOperations
{
public static byte[] StreamToBytes(Stream input)
{
using (MemoryStream ms = new MemoryStream())
{
input.CopyTo(ms);
return ms.ToArray();
}
}
}
Qualsiasi aiuto per salvare i file in questo modo sarebbe molto apprezzato - tutto l'aiuto che ho trovato riferimento al salvataggio del testo in linea. Sto usando lo spazio dei nomi Windows.Storage quindi dovrebbe funzionare anche con Windows 8.
Sei sicuro che questo è Windows PHONE 8? Non stai usando 'IsolatedStorageFile.GetUserStoreForApplication()' –
Assolutamente sicuro, ora puoi usare lo spazio dei nomi sopra e il codice funzionerà anche su Windows 8. –
Impara qualcosa di nuovo ogni giorno :) –