Изменить размер изображения типа HttpFile - PullRequest
0 голосов
/ 18 мая 2018

Я пытаюсь загрузить изображение на сервер с помощью API в C #, но перед загрузкой я хочу изменить размер изображения.Ниже приведен код, который я использую для загрузки изображения без изменения его размера.

private dynamic UploadImage(dynamic parameters)
{
    var files = Request.Files;        
    var isProfilePic = Request.Form["IsProfileImage"].Value;
    string virImgpath = string.Empty;

    if (files.Count() > 0)
    {
        HttpFile file = files.FirstOrDefault();
        string _imgname = string.Empty;

        if (file.Value != null)
        {
            using (MemoryStream ms = new MemoryStream())
            {
                //code to upload
            }

            _userRepository.SaveImage(CurrentUser.Id, (isProfilePic == "true"), _imgname); // virImgpath
            if (isProfilePic == "true")
            {
                CurrentUser.ProfileImage = virImgpath;
            }
            else
            {
                CurrentUser.BackgroundImage = virImgpath;
            }
        }
    }

    return Response.AsJson(virImgpath);
}

Теперь я пытаюсь реализовать функцию изменения размера, добавив следующий код.

WebImage img = files.FirstOrDefault();
img.Resize(1000, 1000);
files = (IEnumerable<HttpFile>)img;

проблема в том, что файл имеет тип HttpFile, а для метода Resize требуется объект типа WebImage.

1 Ответ

0 голосов
/ 18 мая 2018

Вы можете создать новый WebImage, используя конструктор для передачи в потоке

var webImage = new WebImage(file.InputStream);

webImage.Resize(...,...,...,...);

https://msdn.microsoft.com/en-us/library/gg537958(v=vs.111).aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...