Projekt-Anfragen: Tel: 07022/9319004 info@CodeDocu.de Software Entwicklung in C# WPF Asp.Net Core Vba Excel Word SQL-Server EF Linq, UWP Net
#

Öffnen einer Datei unter Universal App, Windows 10

Windows 10 Win10 UWP Universal App

Das Verwenden, Öffnen und Speichern von Dateien unter Windows 10 Universal App ist doch sehr verschieden zu den vorigen Dateihandlings beim Programmieren.
Deshalb hier für mich 3 Möglichkeiten, wie man Dateien laden kann.
1) eine Datei aus dem Unterordner der Installation laden

//*laden einer File,StoragFile aus dem Unterordner _images im Projektordner mittels uri
var uri = new Uri ("ms-appx:///_images/Testbild.jpg");
var file = await Windows.Storage.StorageFile.GetFileFromApplicationUriAsync(uri);




wichtig: die Dateien werden beim Kompilieren ins bin Verzeichnis im untergeordneten Prozessor-verzeichnis kopiert.
Man findet also zur Laufzeit die Dateien dort nochmals


2) man kann den Windows.Storage localFolder einstellen und über diesen dann laden.
Der localFolder befindet sich im Datenverzeichnis, Datenordner der Application. Dieser wird quasi nur für die App zur Verfügung gestellt. Dadurch kann man nicht aus Versehen auf andere Applicationen, Apps zugreigen.

//*Laden mit definition des localfolder
//Windows.Storage.StorageFolder localFolder = Windows.Storage.ApplicationData.Current.LocalFolder;
var file = await localFolder.GetFileAsync("Testbild.jpg");

//*gleichwertig: abfragen des localFolders mit current.InstalledLocation
var file = await Package.Current.InstalledLocation.GetFileAsync("Testbild.jpg");



hier ein Beispiel zum Öffnen und speichern einer Bild, Foto-Datei unter UWP

private void button_Click(object sender, RoutedEventArgs e)
{
fl_Canvas();
}

private async void fl_Canvas()
{
//--< Laden >--
//*Laden mit definition des localfolder
//Windows.Storage.StorageFolder localFolder = Windows.Storage.ApplicationData.Current.LocalFolder;
//var file = await localFolder.GetFileAsync("Testbild.jpg");

//*gleichwertig: abfragen des localFolders mit current.InstalledLocation
//var file = await Package.Current.InstalledLocation.GetFileAsync("Testbild.jpg");

//*laden einer File,StoragFile aus dem Unterordner _images im Projektordner mittels uri
var uri = new Uri ("ms-appx:///_images/Testbild.jpg");
var file = await Windows.Storage.StorageFile.GetFileFromApplicationUriAsync(uri);
//--</ Laden >--

using (var stream = await file.OpenAsync(FileAccessMode.Read))
{
//----< Bild laden und aendern mit DirectX >---
var device = new CanvasDevice();
var bitmap = await CanvasBitmap.LoadAsync(device, stream);
var renderer = new CanvasRenderTarget(device, bitmap.SizeInPixels.Width, bitmap.SizeInPixels.Height, bitmap.Dpi);

using (var ds = renderer.CreateDrawingSession())
{
var blur = new GaussianBlurEffect();
blur.BlurAmount = 8.0f;
blur.BorderMode = EffectBorderMode.Hard;
blur.Optimization = EffectOptimization.Quality;
blur.Source = bitmap;
ds.DrawImage(blur);
}
//----</ Bild laden und aendern mit DirectX >---

//--< speichern >--
//*speichern der Datei in App-DatenOrdner
var saveFile = await ApplicationData.Current.LocalFolder.CreateFileAsync("Save.jpg", CreationCollisionOption.ReplaceExisting);
using (var outStream = await saveFile.OpenAsync(FileAccessMode.ReadWrite))
{
await renderer.SaveAsync(outStream, CanvasBitmapFileFormat.Png);
}
//--</ speichern >--
}



Das Datei-Handling wird gut beschrieben von Jerry Nixon, Channel9
Roaming
ApplicationData
ProjectFiles
Öffnen über Picker
http://blog.jerrynixon.com/2012/06/windows-8-how-to-read-files-in-winrt.html

und das Öffnen und Speichern
CopyAsync()
DeleteAsync()
MoveAsync()
OpenAsync()
RenameAsync()
Mobile
»
Fotos ändern mit DirectX2D in UWP Universal App mit Win2D
»
Code Notiz: Öffnen von Dateien unter Universal App

.

Jobs, Projekte, Angebote für Freiberufler, Selbstständig an Info@CodeDocu.de