コード例 #1
0
        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);
        }
コード例 #2
0
ファイル: BitmapImageEx.cs プロジェクト: lyandy/EyeSight_UWP
        /// <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);
            }
        }