5

我正在创建应用程序,其中我将拥有数据库,用户无法编辑。它只是有数据,并显示给用户。我发现我不必使用localstorage,我只是可以将数据库添加到项目中,并且它是只读的。所以我做到了,一切都很好。现在我想添加图像到我的应用程序,我不知道什么是更好的方法。我可以将每个图像添加到文件夹中,在数据库存储路径中添加图像,这很容易,现在可以完成。或者我发现我可以将图像作为图像(byte [])存储在数据库中。什么是更好的?数据库中的图像会变小吗?会加载更快的图像?如果数据库中的图像是更好的解决方案,我可以轻松地将图像添加到我现有的数据库吗有没有什么文章要在winforms中做到这一点?谢谢作为资源在数据库或项目文件夹中的图像

编辑: 我很高兴我的问题有这么多的答案和意见。我想解释更多我的需求。我的应用程序应该有大约150张图片,图片大小应为150px和100px。我想要的应用程序将没有互联网连接工作。它可以连接更新,但仅此而已。再次感谢所有意见:)

+0

不要将图像存储在服务器上,如果你没有。将内容上传到网络比直接保存在您的设备上要慢 – MyKuLLSKI 2012-02-21 19:44:27

回答

1

关于放置图像的位置有很多'ifs','buts'和'maybes',我认为没有正确或错误的方法。

有一点值得一提的是,如果应用程序对于高可用性具有业务关键性,那么我将它们存储在数据库中,只是因为可以使用其余数据进行备份。数据库可以被镜像等,所有的图像被视为'数据'可以是有益的。此外,如果事情变得很大,并且使用网络农场和负载平衡器等,当图像生活在一个地方时会有所帮助。

对我来说,我会去数据库。但这一切都取决于您的应用程序的规模。

+0

我很高兴所有的答案。思考和选择数据库后,我选择你的答案。谢谢 – 2012-02-29 20:32:16

+0

很高兴你发现这有用。 – 2012-03-01 09:10:35

0

web文件夹。也想想从Amazon S3等云服务器远程加载它们以释放对自己的服务器的访问权限

1

我个人会将所有图像存储在独立存储和数据库中我会存储图像的路径。

我会保存所有图片作为isolatedstorage

3

对于我们的应用一个byte [],我们发现了一个混合的方法效果最好。我们配置了我们的SQL环境以支持FILESTREAM,然后导入我们所有的图像。这使我们可以灵活地在“sql”中存储图像,同时仍然将实际图像存储到磁盘。它是一种快速的解决方案,可能也适合你。

0

最好的选择是将图像存储在Web文件夹,如果你将其保存在数据库中,您将真正浪费时间从DB已经在这里retreiving他们,因为它需要更多的时间

+2

我不同意。去网络不是很快 – MyKuLLSKI 2012-02-21 19:43:06

1

没有错的答案,但它取决于你想要完成什么以及目前如何设置。

最好的办法是使用静态图像的内容交付网络来缓解Web服务器的负载。

您可以根据自己的喜好从数据库或文件结构中的资源文件提供服务。如果图像是静态的,不要忘记添加适当的缓存,这对于静态内容来说是遥不可及的。

如果您正在渲染图像,我肯定会将图像保存在数据库中,以便可以从任意数量的Web服务器访问图像。

如果您想要进一步开发,可以将最近使用的图像保存在内存中或存储在本地文件系统中,这样您就不必每次都从数据库获取文件。

相关问题