Esempio n. 1
0
        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)));
        }
Esempio n. 2
0
        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 }));
        }
Esempio n. 3
0
        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());
            }
        }
Esempio n. 4
0
        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());
        }
Esempio n. 5
0
        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)));
        }
Esempio n. 6
0
        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());
            }
        }
Esempio n. 8
0
 public IActionResult GetFileName([FromServices] WtmFileProvider fp, string id, string csName = null)
 {
     return(Ok(fp.GetFileName(id, ConfigInfo.CreateDC(csName))));
 }
Esempio n. 9
0
 public IActionResult DeletedFile([FromServices] WtmFileProvider fp, string id, string csName = null)
 {
     fp.DeleteFile(id, ConfigInfo.CreateDC(csName));
     return(Ok());
 }