public void Save(MediaFile mediaFile, MediaStorageItem item) { Guard.NotNull(mediaFile, nameof(mediaFile)); // TODO: (?) if the new file extension differs from the old one then the old file never gets deleted var filePath = GetPath(mediaFile); if (item != null) { // Create folder if it does not exist yet var dir = Path.GetDirectoryName(filePath); if (!_fileSystem.FolderExists(dir)) { _fileSystem.CreateFolder(dir); } using (item) { using var outStream = _fileSystem.GetFile(filePath).OpenWrite(); item.SaveTo(outStream, mediaFile); } } else if (_fileSystem.FileExists(filePath)) { // Remove media storage if any _fileSystem.DeleteFile(filePath); } }
private string GetUniqueFileName(string folder, string fileName) { var result = fileName; var copy = T("Admin.Common.Copy"); string name = null; string extension = null; for (var i = 1; i < 999999; ++i) { var path = _fileSystem.Combine(folder, result); if (!_fileSystem.FileExists(path)) { return(result); } if (name == null || extension == null) { var file = _fileSystem.GetFile(path); extension = file.FileType; // this assumes that a storage file name always ends with its file type name = file.Name.EmptyNull().Substring(0, file.Name.EmptyNull().Length - extension.Length); } result = "{0} - {1} {2}{3}".FormatInvariant(name, copy, i, extension); } return(result); }
public void Save(MediaItem media, byte[] data) { Guard.NotNull(media, nameof(media)); // TODO: (?) if the new file extension differs from the old one then the old file never gets deleted var filePath = GetPicturePath(media); if (data != null && data.LongLength != 0) { _fileSystem.WriteAllBytes(filePath, data); } else if (_fileSystem.FileExists(filePath)) { _fileSystem.DeleteFile(filePath); } }
public void Save(MediaFile mediaFile, byte[] data) { Guard.NotNull(mediaFile, nameof(mediaFile)); // TODO: (?) if the new file extension differs from the old one then the old file never gets deleted var filePath = GetPath(mediaFile); if (data != null && data.LongLength > 0) { _fileSystem.WriteAllBytes(filePath, data); } else if (_fileSystem.FileExists(filePath)) { // Remove media storage if any _fileSystem.DeleteFile(filePath); } }
public virtual CachedImageResult GetCachedImage(int?pictureId, string seoFileName, string extension, object settings = null) { var imagePath = this.GetCachedImagePath(pictureId, seoFileName, extension, ImageResizerUtil.CreateResizeSettings(settings)); var result = new CachedImageResult { Path = imagePath, //"Media/Thumbs/" + imagePath, FileName = System.IO.Path.GetFileName(imagePath), Extension = GetCleanFileExtension(imagePath), Exists = _fileSystem.FileExists(BuildPath(imagePath)) }; return(result); }
private void DownloadFile(string path) { path = GetRelativePath(path); if (!_fileSystem.FileExists(path)) { return; } var len = 0; var buffer = new byte[BUFFER_SIZE]; var file = _fileSystem.GetFile(path); try { using (var stream = file.OpenRead()) { Response.Clear(); Response.Headers.Add("Content-Disposition", "attachment; filename=\"" + file.Name + "\""); Response.ContentType = MimeTypes.MapNameToMimeType(file.Name); while (Response.IsClientConnected && (len = stream.Read(buffer, 0, BUFFER_SIZE)) > 0) { Response.OutputStream.Write(buffer, 0, len); Response.Flush(); Array.Clear(buffer, 0, BUFFER_SIZE); } Response.End(); } } catch (IOException) { throw new Exception(T("Admin.Common.FileInUse")); } }