在MVC 6中调整上传的图像大小
发布时间:2020-05-24 15:29:36 所属栏目:asp.Net 来源:互联网
导读:在MVC 6中调整上传图像大小的最佳方法是什么?我想存储图像的多个变体(例如小,大等),以便能够选择稍后显示的内容. 这是我的行动代码. [HttpPost] public async TaskIActionResult UploadPhoto() { if (Request.Form.Files.Count != 1) return n
|
在MVC 6中调整上传图像大小的最佳方法是什么?我想存储图像的多个变体(例如小,大等),以便能够选择稍后显示的内容. 这是我的行动代码. [HttpPost]
public async Task<IActionResult> UploadPhoto()
{
if (Request.Form.Files.Count != 1)
return new HttpStatusCodeResult((int)HttpStatusCode.BadRequest);
IFormFile file = Request.Form.Files[0];
// calculate hash
var sha = System.Security.Cryptography.SHA256.Create();
byte[] hash = sha.ComputeHash(file.OpenReadStream());
// calculate name and patch where to store the file
string extention = ExtentionFromContentType(file.ContentType);
if (String.IsNullOrEmpty(extention))
return HttpBadRequest("File type not supported");
string name = WebEncoders.Base64UrlEncode(hash) + extention;
string path = "uploads/photo/" + name;
// save the file
await file.SaveAsAsync(this.HostingEnvironment.MapPath(path));
}
解决方法我建议使用Image Processor库.http://imageprocessor.org/imageprocessor/ 然后你可以做一些事情: using (var imageFactory = new ImageFactory())
using (var fileStream = new FileStream(path))
{
file.Value.Seek(0,SeekOrigin.Begin);
imageFactory.FixGamma = false;
imageFactory.Load(file.Value)
.Resize(new ResizeLayer(new Size(264,176)))
.Format(new JpegFormat
{
Quality = 100
})
.Quality(100)
.Save(fileStream);
}
file.Value是你上传的文件(流)(我不知道它在MVC中是什么,这是我在Nancy项目中使用的代码) (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ASP.NET捆绑和分类 – 包括用于生产捆绑包和未压缩文件的已
- 捕获从ASP.NET生成的HTML
- asp.net – HttpContext.Current.User.Identity.Name始终是
- asp.net – 在打开silverlight项目之前,您需要安装最新的Si
- ASP.NET网址MAX_PATH限制
- asp.net – 在根站点下托管的应用程序中配置子目录验证模式
- 向.NET电子邮件添加附件
- asp.net-mvc – ASP.net MVC 4 WebApi中的嵌套资源
- asp.net-mvc – mvc3 maxLength输入
- asp.net-core – 如何忽略MVC6中的路由
推荐文章
站长推荐
- asp.net-mvc – ASP.Net MVC4根cshtml和“不继承
- 如何将纯文本发布到ASP.NET Web API端点?
- iis-7 – 本地语言的布尔值
- asp.net-web-api2 – 如何在WebAPI中使用Swagger
- ASP.NET Webforms ASP.NET Ajax与ASP.NET MVC和A
- ASP.NET Core 2.1身份:如何删除默认UI剃刀页面?
- asp.net-mvc – ASP.NET MVC安全检查表
- asp.net-mvc – 带编码文本的MVC3 TextBoxFor
- asp.net-mvc – 适用于典型n层架构的Web API在哪
- asp.net-mvc – 从部分视图添加html头标记的脚本
热点阅读
