private string CalculateFullFileName( string filename, IBrowserFileAdapter.FileType fileType) { var mimeType = _supportedMimeTypes[(int)fileType]; var extension = mimeType.Split("/").Last(); return($"{filename}.{extension}"); }
private string PerformConversionTo(IBrowserFileAdapter.FileType type) { if (string.IsNullOrEmpty(SourceText)) { return(string.Empty); } ITextConvertStrategy converter = (type == IBrowserFileAdapter.FileType.CSV) ? new JsonCsvConverter() : new CsvJsonConverter(); return(converter.Convert(SourceText)); }
public async Task SaveTextAsAsync( IJSRuntime jsRuntime, string filename, IBrowserFileAdapter.FileType fileType, string data) { _ = jsRuntime ?? throw new ArgumentNullException(nameof(jsRuntime)); if (string.IsNullOrEmpty(filename)) { throw new ArgumentNullException(nameof(filename)); } if (string.IsNullOrEmpty(data)) { throw new ArgumentNullException(nameof(data)); } var buffer = Encoding.UTF8.GetBytes(data); await jsRuntime.InvokeVoidAsync( _jsSaveAsFileMethod, CalculateFullFileName(filename, fileType), Convert.ToBase64String(buffer)); }