public static async Task <string> CreateTempFileNameAsync( this StorageFolder folder, string extension = ".tmp", string prefix = "", string suffix = "") { string fileName; if (folder == null) { folder = ApplicationData.Current.TemporaryFolder; } if (string.IsNullOrEmpty(extension)) { extension = ".tmp"; } else if (extension[0] != '.') { extension = string.Format(".{0}", extension); } // Try no random numbers if (!string.IsNullOrEmpty(prefix) && !string.IsNullOrEmpty(prefix)) { fileName = string.Format( "{0}{1}{2}", prefix, suffix, extension); if (!await folder.CheckFileExistedAsync(fileName)) { return(fileName); } } do { fileName = string.Format( "{0}{1}{2}{3}", prefix, Guid.NewGuid(), suffix, extension); } while (await folder.CheckFileExistedAsync(fileName)); return(fileName); }
/// <summary> /// Loads a BitmapImage asynchronously given a specific folder and file name. /// </summary> /// <param name="folder">The folder.</param> /// <param name="fileName">Name of the file.</param> /// <returns></returns> public static async Task <BitmapImage> LoadAsync(this BitmapImage bitmap, StorageFolder folder, string fileName) { try { if (await folder.CheckFileExistedAsync(fileName)) { var file = await folder.GetFileByPathAsync(fileName); return(await bitmap.SetSourceAsync(file)); } else { return(null); } } catch (Exception ex) { Debug.WriteLine(ex.StackTrace); return(null); } }