2013-07-10 66 views
0

在我的asp.net mvc 4站点上,我有一个功能,用户可以通过标准文件上传器上传照片。照片被保存到sql server中的文件表中。处理大文件图像上传

我最近遇到了一个问题,用户上传非常大的照片,这反过来意味着图像呈现时带宽被吃掉。

处理这个问题的最佳方法是什么?我可以限制正在上传的文件的大小吗?还是有一种方法可以减少上传的字节数,同时保持质量?

回答

0

参考this post为maximumRequestLength配置设置和方式,以提供更友好的错误

This question and answer may also be helpful

您也可以上传,以便它甚至没有获得前检查JavaScript中的文件的大小发送到服务器,如果实在是太大了(检查下面的代码,任何大于15MB):

if(Math.floor(file.size/1024 /1024) >= 15) 
{ 
    alert('File size is greater than maximum allowed. Please make sure that the file is smaller than 15 MegaBytes.' ); 
    return false; 
} 

或者,你可以使用WebImage.Resize()调整Ø服务器端该文件已被上传。它在上传过程中不会对带宽有所帮助,但会使后续下载速度更快。缩小图像会导致质量损失,但一般来说它做得很好,只要确保选择了保持高宽比以防止失真的选项即可。

至于减少上传之前的字节没有任何我知道要在浏览器中做到这一点。您可以提供一个单独的客户端应用程序,它将在上传之前使用您的应用程序中的WebImage.Resize方法调整文件的大小。