0

我的数据库中有大约 1k 条记录,其中包含人口统计信息 + 图像列。当前所有图像都驻留在文件系统中,我被分配了拾取这些图像并将其存储在数据库中的任务。

我的目标是
1. 使用 ASP.NET,从文件系统中读取图像文件
2. 将图像存储在 SQL Server 2008 数据库中

到目前为止,我已经看到这可能只使用 FileUpload 方法,这将是非常乏味的。

任何帮助,非常感谢

谢谢,尼尔

4

2 回答 2

0

这是一个很好的方法,它包括 VB 和 C# 代码:http ://www.aspsnippets.com/Articles/Save-and-Retrieve-Files-from-SQL-Server-Database-using-ASP.Net .aspx

如果您需要进行批量加载,只需在代码周围循环,并将目录中的文件列表提供给它。

于 2012-08-15T23:53:48.407 回答
0

Asp.net 不适合批量加载任务。

由于文件已经在您的文件系统上,一个简单的控制台应用程序可以完成任务。

  • 获取图像目录中的所有文件
  • 循环它们以读取字节
  • 将数据插入您的数据库。

代码:

 var files = Directory.GetFiles(@"MY_PATH");
 foreach (var file in files)
 {
    var data = File.ReadAllBytes(file);
    var fileName = Path.GetFileName(file);
    string strQuery = "insert into imageData(Name, Data) values (@Name,@Data)";

    SqlCommand cmd = new SqlCommand(strQuery);

    cmd.Parameters.Add("@Name", SqlDbType.VarChar).Value = filename;
    cmd.Parameters.Add("@Data", SqlDbType.Binary).Value = data;

    cmd.ExecuteNonQuery();
 }
于 2012-08-16T03:55:22.803 回答