gpt4 book ai didi

c# - 如何在上传到服务器之前压缩 IFormFile 中的图像 ASP.Net Core

转载 作者:行者123 更新时间:2023-12-01 22:50:25 31 4
gpt4 key购买 nike

我有一个问题,我正在网络核心中创建一个应用程序,用于上传 child 信息,但是,主要问题是我拥有的所有图像都来 self 的手机,你知道我们正在谈论 9-15每张图片 MB,所以,我知道我可以告诉用户“有一个限制”,但是,我认为它没有用,所以,有一种方法可以减小图像的大小,从而降低质量?

这是我的方法

类别

public IFormFile ImageFile { get; set; }

方法

if (vm.ImageFile != null && vm.ImageFile.Length > 0)
{
var guid = Guid.NewGuid().ToString();
var file = $"{guid}.jpg";

path = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot\\images\\Kids", file);

using (var stream = new FileStream(path, FileMode.Create))
{
//var convertedImage = MagicSolutionGivenByTheAwsomeStackOverFlowCommunity
await vm.ImageFile.CopyToAsync(stream);
}

}

布局

<form asp-action="Create" enctype="multipart/form-data">
<input type="hidden" asp-for="Imagen"/>
<div class="col-sm-4">
<label asp-for="Imagen" class="control-label"></label>
<div>
<input asp-for="ImageFile" class="form-control filestyle"
type="file" data-classbutton="btn btn-secondary"
data-classinput="form-control inline"
data-icon="&lt;span class='fa fa-upload mr'&gt;&lt;/span&gt;" />
</div>
<span asp-validation-for="Imagen" class="text-danger"></span>
</div>
</form>

最佳答案

对于我的项目,我通常在后端使用这个库:ImageResizer来自 Nuget:nuget ImageResizer

它对于服务器端压缩和调整大小很有用

相反,我在前端的 JS 中使用它:PlUpload

在此示例中,您可以在客户端上调整图像大小Image-Resizing-on-Client-Side或者您可以使用Chunking加快上传到客户端的速度并在服务器上管理文件。

关于c# - 如何在上传到服务器之前压缩 IFormFile 中的图像 ASP.Net Core,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60059144/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com