如何在服务器上保存图像(结构)

HW9*_*W90 1 image image-processing asp.net-mvc-2

我正在使用mvc2编写应用程序.用户应该能够将图像上传到他们的个人资料.保存图像的最佳方法是将它们保存在数据库中,但我认为它也是最昂贵的.(我正在使用MSSql)我认为最好的方法是将它们保存在服务器上.我想过:用户上传图像,服务器调整大小并将图像保存在服务器上,图像路径保存在数据库中.

但是,如果我的服务器上没有更多的容量,我必须使用第二个或第三个?

我的问题:在服务器上处理图像的最佳方法是什么?灵活的最佳方式是什么?

谢谢你的回答!!!

Pau*_*lor 5

有许多因素需要考虑.

最好的方法不一定是将图像存储在数据库中.这可能是一个不错的选择,特别是如果你想对图像实现访问控制.然而,这是以必须从数据库中提取图像并将其加载到内存中以便它可以由服务器流出来为代价的.

但是,由于这些是配置文件图像,并且可能是访问该用户配置文件的任何人都可以看到的,我建议将该文件作为文件存储在服务器上,并在数据库中存储对该文件的引用.

归根结底,Web服务器非常擅长有效地提供文件.如果你可以利用它,你应该.

最后,你对空间感到担忧.在第一种情况下,您可以首先防止上传特定大小的图像.您也可以按照自己的建议自动裁剪到选定的尺寸.

如果大量用户成为问题,您始终可以将媒体存储在单独的服务器上,存储每个资源的完全限定链接,例如: -

<img src="http://images2.mydomain.com/image/profile_123.png" alt="A profile pic" />
Run Code Online (Sandbox Code Playgroud)