public async Task <string> SaveAsync(byte[] fileData, DataFileDialogModel dataFileDialog)
    {
        try
        {
            await Task.Run(() =>
            {
                string filePath    = Path.Combine(Android.OS.Environment.ExternalStorageDirectory.AbsolutePath, DefaultDir);
                Java.IO.File myDir = new Java.IO.File(filePath);
                if (!myDir.Exists())
                {
                    myDir.Mkdir();
                }
                string fullName = Path.Combine(filePath, dataFileDialog.DefaultFileName + dataFileDialog.FileType);
                if (System.IO.File.Exists(fullName))
                {
                    System.IO.File.Delete(fullName);
                }
                System.IO.File.WriteAllBytes(fullName, fileData);
            });

            return($"Файл сохранен в папку {DefaultDir}");
        }
        catch (Exception)
        {
            return("Ошибка сохранения файла");
        }
    }
Exemplo n.º 2
0
    public async Task <string> SaveAsync(byte[] fileData, DataFileDialogModel dataFileDialog)
    {
        var savePicker = new Windows.Storage.Pickers.FileSavePicker();

        savePicker.SuggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.DocumentsLibrary;
        savePicker.FileTypeChoices.Add(dataFileDialog.TypeName, new List <string>()
        {
            dataFileDialog.FileType
        });
        savePicker.SuggestedFileName = dataFileDialog.DefaultFileName;
        Windows.Storage.StorageFile file = await savePicker.PickSaveFileAsync();

        if (file != null)
        {
            Windows.Storage.CachedFileManager.DeferUpdates(file);
            await FileIO.WriteBytesAsync(file, fileData);

            FileUpdateStatus status = await CachedFileManager.CompleteUpdatesAsync(file);

            if (status == FileUpdateStatus.Complete)
            {
                return($"Файл {file.Name} сохранен");
            }
            else
            {
                return($"Ошибка сохранения Файла {file.Name}");
            }
        }
        else
        {
            return($"Сохранение файла отменено");
        }
    }