public IActionResult DownloadFile([FromServices] WtmFileProvider fp, string id, string csName = null) { var file = fp.GetFile(id, true, ConfigInfo.CreateDC(csName)); if (file == null) { return(BadRequest(Localizer["Sys.FileNotFound"])); } var ext = file.FileExt.ToLower(); var contenttype = "application/octet-stream"; if (ext == "pdf") { contenttype = "application/pdf"; } if (ext == "png" || ext == "bmp" || ext == "gif" || ext == "tif" || ext == "jpg" || ext == "jpeg") { contenttype = $"image/{ext}"; } if (ext == "mp4") { contenttype = $"video/mpeg4"; } return(File(file.DataStream, contenttype, file.FileName ?? (Guid.NewGuid().ToString() + ext))); }
public IActionResult Upload([FromServices] WtmFileProvider fp, string sm = null, string groupName = null, string subdir = null, string extra = null, string csName = null) { var FileData = Request.Form.Files[0]; var file = fp.Upload(FileData.FileName, FileData.Length, FileData.OpenReadStream(), groupName, subdir, extra, sm, Wtm.CreateDC(cskey: csName)); return(Ok(new { Id = file.GetID(), Name = file.FileName })); }
public async Task <IActionResult> GetFile([FromServices] WtmFileProvider fp, string id, string csName = null, int?width = null, int?height = null) { var file = fp.GetFile(id, true, ConfigInfo.CreateDC(csName)); if (file == null) { return(BadRequest(Localizer["Sys.FileNotFound"])); } try { if (width != null || height != null) { Image oimage = Image.Load(file.DataStream); if (oimage != null) { if (width == null) { width = oimage.Width * height / oimage.Height; } if (height == null) { height = oimage.Height * width / oimage.Width; } var ms = new MemoryStream(); oimage.Mutate(x => x.Resize(width.Value, height.Value)); oimage.SaveAsJpeg(ms); ms.Position = 0; await ms?.CopyToAsync(Response.Body); file.DataStream.Dispose(); ms.Dispose(); oimage.Dispose(); return(new EmptyResult()); } } } catch { } var ext = file.FileExt.ToLower(); if (ext == "mp4") { return(File(file.DataStream, "video/mpeg4", enableRangeProcessing: true)); } else { await file.DataStream?.CopyToAsync(Response.Body); file.DataStream.Dispose(); return(new EmptyResult()); } }
public IActionResult GetFile([FromServices] WtmFileProvider fp, string id, string csName = null) { var file = fp.GetFile(id, true, ConfigInfo.CreateDC(csName)); if (file == null) { return(BadRequest(Localizer["Sys.FileNotFound"])); } file.DataStream?.CopyToAsync(Response.Body); file.DataStream.Dispose(); return(new EmptyResult()); }
public IActionResult DownloadFile([FromServices] WtmFileProvider fp, string id, string csName = null) { var file = fp.GetFile(id, true, ConfigInfo.CreateDC(csName)); if (file == null) { return(BadRequest(Localizer["Sys.FileNotFound"])); } var ext = file.FileExt.ToLower(); var provider = new FileExtensionContentTypeProvider(); string contentType; if (!provider.TryGetContentType(file.FileName, out contentType)) { contentType = "application/octet-stream"; } return(File(file.DataStream, contentType, file.FileName ?? (Guid.NewGuid().ToString() + ext))); }
public IActionResult UploadImage([FromServices] WtmFileProvider fp, int?width = null, int?height = null, string sm = null, string groupName = null, string subdir = null, string extra = null, string csName = null) { if (width == null && height == null) { return(Upload(fp, sm, groupName, csName)); } var FileData = Request.Form.Files[0]; Image oimage = Image.Load(FileData.OpenReadStream()); if (oimage == null) { return(BadRequest(Localizer["Sys.UploadFailed"])); } if (width == null) { width = height * oimage.Width / oimage.Height; } if (height == null) { height = width * oimage.Height / oimage.Width; } MemoryStream ms = new MemoryStream(); oimage.Mutate(x => x.Resize(width.Value, height.Value)); oimage.SaveAsJpeg(ms); ms.Position = 0; var file = fp.Upload(FileData.FileName, FileData.Length, ms, groupName, subdir, extra, sm, Wtm.CreateDC(cskey: csName)); oimage.Dispose(); ms.Dispose(); if (file != null) { return(Ok(new { Id = file.GetID(), Name = file.FileName })); } return(BadRequest(Localizer["Sys.UploadFailed"])); }
public IActionResult GetFile([FromServices] WtmFileProvider fp, string id, string csName = null) { var file = fp.GetFile(id, true, ConfigInfo.CreateDC(csName)); if (file == null) { return(BadRequest(Localizer["Sys.FileNotFound"])); } var ext = file.FileExt.ToLower(); if (ext == "mp4") { return(File(file.DataStream, "video/mpeg4", enableRangeProcessing: true)); } else { file.DataStream?.CopyToAsync(Response.Body); file.DataStream.Dispose(); return(new EmptyResult()); } }
public IActionResult GetFileName([FromServices] WtmFileProvider fp, string id, string csName = null) { return(Ok(fp.GetFileName(id, ConfigInfo.CreateDC(csName)))); }
public IActionResult DeletedFile([FromServices] WtmFileProvider fp, string id, string csName = null) { fp.DeleteFile(id, ConfigInfo.CreateDC(csName)); return(Ok()); }