Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.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/sql-server/22.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 在创建记录时向SQL Server添加图像-有更好的方法吗?_Asp.net_Sql Server - Fatal编程技术网

Asp.net 在创建记录时向SQL Server添加图像-有更好的方法吗?

Asp.net 在创建记录时向SQL Server添加图像-有更好的方法吗?,asp.net,sql-server,Asp.net,Sql Server,我的一个网页允许用户创建新记录,同时将任意数量的图像与该记录关联。我想这样做的方式是,当用户单击“上载”按钮和文件上载控件时,将每个图像上载到服务器。然后,当用户单击整个记录的“更新”按钮时,我将创建该记录,然后使用新记录的id,使用刚刚添加的记录的id将每个图像添加到images表中 哦,每次应用程序启动时,我都会从服务器上删除所有临时映像文件。我想我可以这样做,因为向记录中添加图像不会被大量使用,所以用临时图像填充服务器的危险很小 有更好的方法吗?我对ASP.NET和SQLServer还比较

我的一个网页允许用户创建新记录,同时将任意数量的图像与该记录关联。我想这样做的方式是,当用户单击“上载”按钮和文件上载控件时,将每个图像上载到服务器。然后,当用户单击整个记录的“更新”按钮时,我将创建该记录,然后使用新记录的id,使用刚刚添加的记录的id将每个图像添加到images表中

哦,每次应用程序启动时,我都会从服务器上删除所有临时映像文件。我想我可以这样做,因为向记录中添加图像不会被大量使用,所以用临时图像填充服务器的危险很小


有更好的方法吗?我对ASP.NET和SQLServer还比较陌生,所以我完全愿意接受任何关于如何改进的建议。

一般来说,您的方法对我来说很好,但将图像上载到数据库时会遇到陷阱,具体取决于应用程序的工作方式

首先,除非您使用的是SQLServer2008的FILESTREAM功能,否则不建议在数据库中存储图像。将图像作为数据从数据库流式传输比从文件系统提供图像要慢得多(我提到的FILESTREAM功能使用文件系统!),因此,将图像的URL存储在数据库中而不是图像本身被认为是更好的做法,尤其是当您需要应用程序的性能时。这样做的缺点是,您必须记住在备份过程中备份图像,因为它们不在数据库中。(FILESTREAM也解决了这个问题。)


根据应用程序重启的频率,您的删除方法可能还可以,但我不推荐这种方法。您可以在每次上载时运行清理例程,甚至可以作为windows计划的任务运行

文件流为+1。如果是SQL server 2005,存储在表中的图像数据的最佳大小是多少?小于1MB,越小越好