在上传到Blob存储之前调整IFormFile的大小

问题描述 投票:0回答:1

我目前正在通过以下功能将图像列表上传到azure blob存储(然后将路径存储在DB中)。

这一切都很好,但是,如果图像大于特定分辨率,我希望调整大小以减少图像文件的大小(显然是。)>

我已经找到了裁剪“图像”的示例,但是由于这是IFormFile的列表(来自输入type = upload),因此似乎无法正常工作。我尝试过将IFormFile转换为图像,然后重新调整图像的大小,但是后来无法转换回IFormFile。

任何帮助或指针都很好。谢谢。

public async Task UploadImagesAsync(IFormFileCollection files, int VehicleID)
    {
        var connectionString = _configuration.GetConnectionString("AzureStorageAccount");
        var container = _uploadService.GetBlobContainer(connectionString);

        foreach (var file in files)
        {
            // Resize file here


            // parse the content disposition header
            var contentDisposition = ContentDispositionHeaderValue.Parse(file.ContentDisposition);

            // grab file name
            var fileName = "Vehicles/" + VehicleID + "/" + contentDisposition.FileName.Trim('"');

            // get reference
            var blockBlob = container.GetBlockBlobReference(fileName);

            // upload
            await blockBlob.UploadFromStreamAsync(file.OpenReadStream());

我目前正在通过以下功能将图像列表上传到azure blob存储(然后将路径存储在DB中)。一切正常,但是,如果图像大于特定分辨率,...

c# model-view-controller .net-core azure-storage-blobs image-resizing
1个回答
0
投票

根据我的研究,我们可以使用SixLabors调整应用程序中图像的大小。例如

© www.soinside.com 2019 - 2024. All rights reserved.