Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 拥有一个带有用户图片的网页(快速且一致的大小)的最佳方式是什么_Asp.net Mvc_Image - Fatal编程技术网

Asp.net mvc 拥有一个带有用户图片的网页(快速且一致的大小)的最佳方式是什么

Asp.net mvc 拥有一个带有用户图片的网页(快速且一致的大小)的最佳方式是什么,asp.net-mvc,image,Asp.net Mvc,Image,我有一个带有SQL server后端的asp.net-mvc网站(使用nhibernate进行OR映射) 用户必须登录,我想允许用户将图片与自己关联,这样我就可以在几个地方将图片与人名一起显示(有点像facebook) 我希望避免将图片直接存储在数据库中,因为我认为这样下载会很慢。所以我基本上在“User”表中有一个名为PictureURL的字段,它只是一个字符串。人们可以简单地将任何url包含到图像中,当我想要显示图片时,我只需要在该位置使用HREF 以下是我的两个问题: 1。人们一直在链接不

我有一个带有SQL server后端的asp.net-mvc网站(使用nhibernate进行OR映射)

用户必须登录,我想允许用户将图片与自己关联,这样我就可以在几个地方将图片与人名一起显示(有点像facebook)

我希望避免将图片直接存储在数据库中,因为我认为这样下载会很慢。所以我基本上在“User”表中有一个名为PictureURL的字段,它只是一个字符串。人们可以简单地将任何url包含到图像中,当我想要显示图片时,我只需要在该位置使用HREF

以下是我的两个问题:

1。人们一直在链接不同大小的图像,因此UI看起来有点不对劲。

2。人们一直在链接许多不同的格式(png、jpg等)。

我正在努力优化图片的速度和一致大小。对于我应该如何应对这些挑战,有什么建议吗

我如何强制人们链接到相同大小的图像?我应该强制执行某种图像格式吗?目前我正在使用css调整图像大小,但有人告诉我,动态调整大小是一项昂贵且缓慢的操作。我应该只强制一种图像类型吗。我认为png会比jpg快,所以我尝试将jpg转换为png,但文件的大小实际上增长到了jpg图像大小的6倍。我曾想过让一个脚本将所有图像脱机调整大小,然后链接到新图片,但纵横比都不同,因此我可以调整大小以获得相同的高度或宽度,但不能同时获得两者

关于我如何支持此相关图片概念和解决上述问题的其他一般性建议?


注意:我不能使用gravatar,因为它已被阻止,但我很乐意支持“外包解决方案”

通常,当图像到达服务器时,您会调整图像大小并丢弃原始图像。有一些解决方案可以在客户端调整大小,但它们会给客户端增加额外的要求,例如Adobe Flash

谷歌的ASP.NET和缩略图会让你开始学习,不是吗

例如:

通常,当图像到达服务器时,您会调整图像大小并丢弃原始图像。有一些解决方案可以在客户端调整大小,但它们会给客户端增加额外的要求,例如Adobe Flash

谷歌的ASP.NET和缩略图会让你开始学习,不是吗

例如:
我推荐纳撒尼尔·琼斯。它很容易使用,就像

<img src="/Images/12345.jpg?maxWidth=200&maxHeight=200&crop=(0,0,200,200)&format=jpg" alt="" />

它为创建的映像提供了一个性能缓存,因此性能应该不是问题。你必须支付69美元,但你得到了源代码。我犹豫了很长时间,但现在我一秒钟也不后悔这次购买


当然,要使其正常工作,您需要将原始图像保存到服务器上。

我推荐Nathanel Jones。它很容易使用,就像

<img src="/Images/12345.jpg?maxWidth=200&maxHeight=200&crop=(0,0,200,200)&format=jpg" alt="" />

它为创建的映像提供了一个性能缓存,因此性能应该不是问题。你必须支付69美元,但你得到了源代码。我犹豫了很长时间,但现在我一秒钟也不后悔这次购买


当然,要使其正常工作,您需要在服务器上保存原始图像。

我建议不要只存储图像URL,然后再显示它。许多网站对此表示不满,因为你正在使用它们的带宽来显示图像。很多网站也不允许你这样做,因为带宽问题,然后你会得到一个404返回


使用像Gravatar这样的图像/化身服务。

我建议不要只存储一个图像URL,然后再显示它。许多网站对此表示不满,因为你正在使用它们的带宽来显示图像。很多网站也不允许你这样做,因为带宽问题,然后你会得到一个404返回


使用像Gravatar这样的图像/化身服务。

当您说允许他们提供图像的URL时,您是直接在输出中使用此URL,还是将图像下载到服务器并提供本地副本? CSS调整大小对于客户端来说是非常昂贵的,而不是您的服务器,因为服务器不会对数据进行任何转换,但是客户端需要下载完整大小的图像,然后调整其大小


我认为对你来说,一个好的整体解决方案是将每个图像下载到本地服务器,通过一些软件运行它,将其调整为X,并提供这个本地图像。这可以在系统负载较低时批处理运行。它还可以让您精确控制哪些图像在出现问题时可以/不能显示。

当您说允许它们提供图像的URL时,您是直接在输出中使用此URL,还是将图像下载到服务器并提供本地副本? CSS调整大小对于客户端来说是非常昂贵的,而不是您的服务器,因为服务器不会对数据进行任何转换,但是客户端需要下载完整大小的图像,然后调整其大小


我认为对你来说,一个好的整体解决方案是将每个图像下载到本地服务器,通过一些软件运行它,将其调整为X,并提供这个本地图像。这可以在系统负载较低时批处理运行。它还可以让您精确控制如果出现问题,哪些图像可以/不能显示。

对于尺寸问题,我建议您使用两个步骤: 首先上传图片并将其存储在临时位置。您可以在这里调整图片的大小,保持比例,以使其适合下一步。 然后,在第二步中,您可以使用或任何其他javascript裁剪工具,强制用户选择图像的正方形区域。用户选择图片区域后,您可以创建