当移动到不同的文件夹 asp.net mvc c# 时,图像被裁剪/剪切

Posted

技术标签:

【中文标题】当移动到不同的文件夹 asp.net mvc c# 时,图像被裁剪/剪切【英文标题】:Image gets cropped/cut when moved to different folder asp.net mvc c# 【发布时间】:2022-01-12 07:11:12 【问题描述】:

我正在开发一个小图书馆,您可以在其中上传一本书的图片,该图片将移动到我项目的图像文件夹中。但是,图像在我的网站上显示时会被裁剪。很明显,它是一个完整的图像,移动到图像文件夹时不是裁剪的图像,但显示时不是。

文件夹中的图片: https://imgur.com/a/Undnkwp

这是它在我的网站上的外观: https://imgur.com/a/rKy2Mkc

我移动图像的代码:

[HttpPost]
    [ValidateAntiForgeryToken]
    public IActionResult AddBook(Book book)
    
        var file = HttpContext.Request.Form.Files[0];

        if (file.Length > 0 && file.Length < 10000000)
        
            var path = @"D:\School\Hovedforløb 1\ASP\LibraryNew\wwwroot\Images\";
            var filename = book.Isbn + Path.GetExtension(file.FileName);
            string[] fileExtensions =  "jpg", "jpeg", "png" ;

            if (!fileExtensions.Any(o => filename.EndsWith(o)))
            
                return RedirectToAction("AddBook");
            
            else
            
                using (var fileStream = new FileStream(Path.Combine(path, filename), FileMode.Create))
                
                    file.CopyTo(fileStream);
                    book.Picture = filename;
                
                _db.Books.Add(book);
                _db.SaveChanges();
                return RedirectToAction("Index");
            
        
        return View();
    

如果您知道如何解决此问题,请告诉我!

马特奥

【问题讨论】:

恕我直言,它已被破坏(例如,流过早结束),而不是在图形意义上被“剪切”或裁剪。编辑:它在缩略图之外的文件夹中看起来是否正常(即,如果您打开它,它看起来正常还是已损坏?) 可能是 html 代码显示图像错误..? 嘿@Llama 文件在打开时看起来还不错,不仅仅是缩略图。 如果你直接访问它的URL,它看起来OK吗?如果确实如此,那么唯一需要调查的途径就是 Orvar 的建议。 在隐身模式下看起来很正常。我试图清除网站上的缓存。它没有帮助。我将尝试仅使用 HTML 来显示它。 :) 编辑。现在它可以正确显示了。它现在可以正常工作了大声笑。我将尝试使用 html 和 css 进一步调查。可能就是这样。感谢您的帮助! 【参考方案1】:

检查您的 html 代码,如下所示。根据需要修复图像大小。

<div class="img">
<img data-mdb-toggle="animation" data-mdb-animation-start="onScroll" data-mdb-animation="slide-in-left" class="card-img-top" src="~/Images/@item.image"  style="width:150px;height:150px;" />
</div>

【讨论】:

以上是关于当移动到不同的文件夹 asp.net mvc c# 时,图像被裁剪/剪切的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET MVC - 使用 C# 将引用不同程序集的模型从控制器传递到视图

将 excel 表导入 ASP.NET C# MVC

ASP.NET Core MVC(C#) 文件上传及后台输出响应Aspose.Words处理后文件

在 ASP.NET MVC (C#) 上提供静态文件

asp.net mvc  Ajax.BeginForm 异步上传图片的问题

将Asp.Net WebAPI从AngularJS App的Asp.Net MVC站点移动到一个单独的站点